可能重复:
双重计算产生奇数结果
我正在用 Java 编写一个处理大量双重算术的程序。我最终到了需要添加 0.6666666666666666 和 -0.666666666666667 的地步。但是,我得到的答案是 -3.3306690738754696E-16。
换句话说,
double d1 = 0.6666666666666666;
double d2 = -0.666666666666667;
System.out.println(d1 + d2);
打印出“-3.3306690738754696E-16”。为什么会这样?
先感谢您。