因为计算机内部存贮本身的缺陷,导致double类型的数字相加。得到的结果有非常多位,比方
774.23 | 750.0 | 2638.66 | 4162.889999999999 |
看到这个是不是非常晕
当然也有解决方式
new BigDecimal(Double.toString(a)).add( new BigDecimal(Double.toString(b))).add( new BigDecimal(Double.toString(c)))
用BigDecimal和add。问题迎刃而解
774.23 | 750.0 | 2638.66 | 4162.89 |
哈哈