This commit is contained in:
Looly 2023-08-02 17:05:38 +08:00
parent 8585ecc1eb
commit 03fde0c1d3
2 changed files with 9 additions and 10 deletions

View File

@ -944,19 +944,15 @@ public class NumberUtil extends NumberValidator {
return BigDecimal.ZERO; return BigDecimal.ZERO;
} }
try { // issue#3241优先调用构造解析
// 支持类似于 1,234.55 格式的数字 try{
final Number number = parseNumber(numberStr); return new BigDecimal(numberStr);
if (number instanceof BigDecimal) { } catch (final Exception ignore){
return (BigDecimal) number;
} else {
return new BigDecimal(number.toString());
}
} catch (final Exception ignore) {
// 忽略解析错误 // 忽略解析错误
} }
return new BigDecimal(numberStr); // 支持类似于 1,234.55 格式的数字
return toBigDecimal(parseNumber(numberStr));
} }
/** /**

View File

@ -375,6 +375,9 @@ public class NumberUtilTest {
bigDecimal = NumberUtil.toBigDecimal("1,234.56D"); bigDecimal = NumberUtil.toBigDecimal("1,234.56D");
Assertions.assertEquals("1234.56", bigDecimal.toString()); Assertions.assertEquals("1234.56", bigDecimal.toString());
// issue#3241
Assertions.assertEquals(new BigDecimal("9.0E+7"), NumberUtil.toBigDecimal("9.0E+7"));
} }
@Test @Test