Java BigDecimal可以用逗号代替点?

2022-09-01 10:59:07

我有一个字符串值,我想分配给BigDecimal。当我用类似这样的数字更新十进制值时,它工作正常,但是当我用像代码这样的数字更新它时,会引发异常。为什么?100.23100,23


答案 1

因为您试图在数字中放入“,”。

您可以使用此代码解析带有逗号的数字:

NumberFormat.getNumberInstance(Locale.FRANCE).parse("265,858")

如果没有特别的原因,您也应该使用浮点数或双精度。


答案 2

如果无法确定 String 是否包含逗号或点,可以使用 from String 类。例如。replace(char, char)myString.replace(',', '.')