由于计算机内部存贮本身的缺陷,导致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 |
哈哈