我有一个BigDecima
l,我将其转换为String
以对其进行一些修改。
最后,我尝试使用这部分代码将其转换回BigDecimal
:
DecimalFormat decimalFormat = new DecimalFormat();
decimalFormat.setParseBigDecimal(true);
Amt = (BigDecimal) decimalFormat.parse(amount);
最后,我希望我的BigDecimal
像这样"135.40"
并且可以使用,但是在俄语计算机上,我得到"135.00"
。我不明白为什么,这是错误还是什么?
答案 0 :(得分:6)
俄语语言环境中的小数点分隔符为,
。这就是为什么数字会在.
处被截断的原因,这对于俄语语言环境无效。
decimalFormat.parse("135,40")
应该为您提供所需的十进制。
如果要使用.
解析数字,请更改DecimalFormat
的语言环境:
NumberFormat formatter = NumberFormat.getNumberInstance(Locale.US);
DecimalFormat decimalFormat = (DecimalFormat)formatter;