多位小数四舍五入保留两位小数
在使用BigDecimal进行多位小数四舍五入保留两位小数时发现,当数字千位以下位为999时,即需要从小数位一路进位至千位,如1999.996,这时
p2=Double.parseDouble('1999.996');
p2=new BigDecimal(p2).setScale(2, BigDecimal.ROUND_HALF_UP);
此时结果为
1999.99
解决方案
p2=Double.parseDouble('1999.996');
String str=String.format("%.2f", p2)
p2=new BigDecimal(str)
此时结果为
2000.00