Skip to content

Commit 548c412

Browse files
author
d0b02bt
committed
LANG-1444
added test cases to ensure precision is not lost
1 parent 8f03824 commit 548c412

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -653,6 +653,16 @@ void testCheckDataTypeForFloatDoubleBigDecimal() {
653653
assertEquals(NumberUtils.createNumber("1.00000000000000000000001").getClass().getName(), BigDecimal.class.getName());
654654
}
655655

656+
@Test
657+
void testCheckPrecisionNotLostFloatDoubleBigDecimal() {
658+
assertEquals(NumberUtils.createNumber("1.1"), Float.valueOf("1.1"));
659+
assertEquals(NumberUtils.createNumber("1.0000001"), Float.valueOf("1.0000001"));
660+
assertEquals(NumberUtils.createNumber("1.000000001"), Double.valueOf("1.000000001"));
661+
assertEquals(NumberUtils.createNumber("1.000000000000001"), Double.valueOf("1.000000000000001"));
662+
assertEquals(NumberUtils.createNumber("1.00000000000000001"), new BigDecimal("1.00000000000000001"));
663+
assertEquals(NumberUtils.createNumber("1.00000000000000000000001"), new BigDecimal("1.00000000000000000000001"));
664+
}
665+
656666
/**
657667
* Tests isCreatable(String) and tests that createNumber(String) returns a valid number iff isCreatable(String)
658668
* returns false.

0 commit comments

Comments
 (0)