double x = 1;
double y = 3 * (1.0 / 3);


x == y


在我正在研究的简报中,它说该陈述在逻辑上是有问题的。我不知道为什么会这样,我的意思是您使用==表示原始元素正确,还是逻辑上有问题,因为双精度数未正确存储,或者我遗漏了明显的东西?谢谢

最佳答案

我想您已经明白了:由于数据类型是双精度的,而不是int或Integer,所以结果x和y可能不完全相等。

10-07 15:30