java中两个double类型的两位小数相加为什么会变成有很多小数位的小数?
现象:
Double d1=904163.08;
Double d2=210298.99;
// 结果是:1114462.0699999998
Double totalmoney1=d1+d2;
修改后:
BigDecimal b1 = new BigDecimal(Double.toString(904163.08)); BigDecimal b2 = new BigDecimal(Double.toString(210298.99)); //结果1114462.07 System.out.println(b1.add(b2).doubleValue());