Alex Herbert created LANG-1646:
----------------------------------
Summary: NumberUtils fails to create requested type for floating
point zero
Key: LANG-1646
URL: https://issues.apache.org/jira/browse/LANG-1646
Project: Commons Lang
Issue Type: Bug
Components: lang.math.*
Affects Versions: 3.12.0
Reporter: Alex Herbert
Assignee: Alex Herbert
This currently fails:
{code:java}
assertEquals(Float.valueOf(0), NumberUtils.createNumber("0F"));
assertEquals(Double.valueOf(0), NumberUtils.createNumber("0D"));
{code}
This passes:
{code:java}
assertEquals(Float.valueOf(0), NumberUtils.createNumber("0.F"));
assertEquals(Double.valueOf(0), NumberUtils.createNumber("0.D"));
assertEquals(Float.valueOf(0), NumberUtils.createNumber("0e0F"));
assertEquals(Double.valueOf(0), NumberUtils.createNumber("0e0D"));
{code}
This is due to the incorrect extraction of the mantissa for a floating point
value when there is no exponent or decimal place as it includes the trailing
format specifier (F or D). The input string is then not detected as being all
zeros and the returned type is BigDecimal.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)