具有千位分隔符的BigDecimal字符串格式(###。###,##)

时间:2013-12-25 16:53:51

标签: java formatting bigdecimal

我有一个BigDecimal,其值我想转换为字符串而 NOT 会失去任何精度。

我想使用的格式是###。###,##(数千的逗号,小数的句号)。

我完成这项工作的唯一方法是使用

DecimalFormat formatter = new DecimalFormat("###.###,##");
formatter.format(bd.doubleValue());

...但我担心我可能会以这种方式丢失信息,精确度是必须的,因为我正在处理货币(每一分钱)。

附加信息:如果有任何帮助,我将只处理高达100万的金额。

1 个答案:

答案 0 :(得分:1)

为了安全起见,你可以将你的BigDecimal多出100倍 然后得到它的intValue - &gt;说N.然后得到N / 100和N%100 这样你就不会失去精度(N <= 1亿不能溢出int)。