我最近使用以下代码测试了我听到的一些东西
public static void main(String[] args) {
double x = 4.35 * 100;
System.out.println(x);
}
.
我对为什么这会产生 434.99999999999994 而不是 435.0 感兴趣。谢谢
当您键入:
double x = 4.35;
x
不是按原样存储的。它以接近的形式存储(在这种情况下可能是 4.349999999)。
如果您想要准确的结果,请使用BigDecimal
.
您可以了解浮点技术的准确性问题。