我有一个字符串值要赋给BigDecimal,当我用100.23这样的数字更新十进制值时,它工作正常,但当我用100,23这样的数字更新它时,代码抛出异常,这是为什么?
100.23
100,23
qhhrdooz1#
因为你想在数字里加个“,”你可以用这段代码来解析一个带逗号的数字:
NumberFormat.getNumberInstance(Locale.FRANCE).parse("265,858")
如果没有特别的理由使用decimal,你也应该使用float或double。
svdrlsy42#
如果你不能确定你的字符串是有逗号还是点,你可以使用String类中的replace(char, char)。
replace(char, char)
lkaoscv73#
BigDecimal(String)构造函数文档列出了所有有效的格式和字符。请注意,,不包括在此列表中。
BigDecimal(String)
,
3条答案
按热度按时间qhhrdooz1#
因为你想在数字里加个“,”
你可以用这段代码来解析一个带逗号的数字:
如果没有特别的理由使用decimal,你也应该使用float或double。
svdrlsy42#
如果你不能确定你的字符串是有逗号还是点,你可以使用String类中的
replace(char, char)
。lkaoscv73#
BigDecimal(String)
构造函数文档列出了所有有效的格式和字符。请注意,,
不包括在此列表中。