今天我开始编写一个小的PHP代码,这让我感到困惑,所以我把它停在这里。
<?php
echo (int) ((0.5 + 0.3) * 10); // Outputs 8 as expected
<?php
echo (int) ((0.1 + 0.7) * 10); // Outputs 7 . How ????
有人可以回答详细解释吗?
答案 0 :(得分:2)
这是因为计算机中的浮点表示对某些数字并不准确。正如评论中已经说过的那样,0.7
在内部表示为0.699999
左右。
在这类问题中,有两个网站不断出现:
我更喜欢第一个,因为它在学术上更轻松一些。阅读这些信息,你就会明白。