我有一个BigDecimal,其值我想转换为字符串而 NOT 会失去任何精度。
我想使用的格式是###。###,##(数千的逗号,小数的句号)。
我完成这项工作的唯一方法是使用
DecimalFormat formatter = new DecimalFormat("###.###,##");
formatter.format(bd.doubleValue());
...但我担心我可能会以这种方式丢失信息,精确度是必须的,因为我正在处理货币(每一分钱)。
附加信息:如果有任何帮助,我将只处理高达100万的金额。
答案 0 :(得分:1)
为了安全起见,你可以将你的BigDecimal多出100倍
然后得到它的intValue - >说N.然后得到N / 100和N%100
这样你就不会失去精度(N <= 1亿不能溢出int)。