商业运算丢失精度处理(用BigDecimal的String构造器)
示例:
public void test1() { BigDecimal b1 = new BigDecimal(0.05); BigDecimal b2 = new BigDecimal(0.01); System.out.println(b1.add(b2)); }
结果:0.06000000000000000298372437868010820238851010799407958984375
正确如下:
public void test2() { BigDecimal b1 = new BigDecimal("0.05"); BigDecimal b2 = new BigDecimal("0.01"); System.out.println(b1.add(b2)); }
结果:0.06