我有一个要分配给 BigDecimal 的字符串值。当我用类似的数字更新十进制值时100.23
,它可以正常工作,但是当我用类似100,23
代码的数字更新它时会引发异常。这是为什么?
问问题
48923 次
3 回答
19
因为您试图在数字中添加“,”。
您可以使用此代码解析带逗号的数字:
NumberFormat.getNumberInstance(Locale.FRANCE).parse("265,858")
如果没有特殊原因使用小数,您还应该使用浮点数或双精度数。
于 2013-09-10T08:49:07.250 回答
7
如果您不能确定您的 String 是否有逗号或点,您可以replace(char, char)
从 String 类中使用。例如myString.replace(',', '.')
.
于 2013-09-10T08:56:50.000 回答
5
构造BigDecimal(String)
函数文档列出了所有有效的格式和字符。请注意,,
不包含在此列表中。
于 2013-09-10T08:55:05.783 回答