因为计算机内部存贮本身的缺陷,导致double类型的数字相加。得到的结果有非常多位,比方

774.23750.02638.664162.889999999999

看到这个是不是非常晕

当然也有解决方式

new BigDecimal(Double.toString(a)).add( new BigDecimal(Double.toString(b))).add( new BigDecimal(Double.toString(c)))

用BigDecimal和add。问题迎刃而解

774.23750.02638.664162.89

哈哈

05-11 22:20