Java BigDecimal可以用逗号代替点吗?

时间:2013-09-10 08:46:34

标签: java decimal bigdecimal

我有一个我想要分配给BigDecimal的字符串值。当我使用类似100.23的数字更新小数值时,它可以正常工作,但是当我使用类似100,23的数字更新它时,代码会抛出异常。那是为什么?

3 个答案:

答案 0 :(得分:15)

因为您试图在数字中加上“,”。

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

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

如果没有使用小数的特殊原因,你也应该使用float或double。

答案 1 :(得分:5)

BigDecimal(String)构造函数documentation列出了所有有效的格式和字符。请注意,,未包含在此列表中。

答案 2 :(得分:2)

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