关于double类型数字相加位数发生变化的问题



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



哈哈


原文地址:https://www.cnblogs.com/cynchanpin/p/6923040.html