我对Java中的数学有一些疑问/问题,所以我制作了一个小程序截图,您可以在此链接中看到:
http://www.imageshuffle.com/view.php?filename=73doublevsfloat.jpg
这些数字怎么可能?
f / i
应为0.0155
无论你怎么看,i * f
都应该155
i + f
应为101.55
i - f
应为98.45
等。与double相同。
什么给出了什么?为什么Java中的数学不正确?
答案 0 :(得分:4)
这是因为i /= f
修改了i
:它相当于i = i / f
(加上舍入)。
因此,当您执行f / i
时,i
是〜65而不是100。