bill[p][l][0] = new DecimalFormat("##.##").format(Double.parseDouble(i2[m][0]));
上面输入的代码不起作用;输入10.0
将10
作为输出。
答案 0 :(得分:5)
它正在工作 - #表示仅在相关时打印数字(请参阅documentation)。尝试使用
bill[p][l][0] = new DecimalFormat("##.00").format(Double.parseDouble(i2[m][0]));
答案 1 :(得分:3)
要准确格式化最多两个小数位,您应使用##.00
,因为##.##
将从值中删除尾随零。
答案 2 :(得分:0)
如果你想同时处理正数和负数,我建议使用Double
,因为new BigDecimal(i2[m][0]).setScale(2, BigDecimal.ROUND_FLOOR)
技术上没有任何十进制值要截断。尝试这样的事情:
.png