我有一个 BigDecima
l,我将其转换为 String
以对其进行一些修改。
最后,我尝试使用这部分代码将其转换回 BigDecimal
:
DecimalFormat decimalFormat = new DecimalFormat();
decimalFormat.setParseBigDecimal(true);
Amt = (BigDecimal) decimalFormat.parse(amount);
最后,我希望我的
BigDecimal
像这样,例如 "135.40"
它有效,但在俄罗斯计算机上我得到 "135.00"
。我不明白为什么,这是一种错误还是什么? 最佳答案
俄语语言环境中的小数点分隔符是 ,
。这就是为什么数字在 .
处被截断的原因,这对俄罗斯语言环境无效。decimalFormat.parse("135,40")
应该给你想要的 bigdecimal。
如果要使用 .
解析数字,请更改 DecimalFormat
的语言环境:
NumberFormat formatter = NumberFormat.getNumberInstance(Locale.US);
DecimalFormat decimalFormat = (DecimalFormat)formatter;
关于java - DecimalFormat(),俄罗斯计算机的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52811850/