在PHP中添加分数会产生不同的结果
可能重复: 有人能给我解释一下吗在PHP中添加分数会产生不同的结果,php,Php,可能重复: 有人能给我解释一下吗 <?php echo (int) ((0.1 + 0.7)*10);//displays an output: `7` ?> 我本来希望看到8,但我得到了7-请解释一下这种行为 这是PHP的一个特殊功能吗?或者我不理解PHP中的整数类型 谢谢。请回答以下问题: 另外,有理数可以精确表示为 以10为基数的浮点数,如0.1或0.7,没有 精确表示为基数2中的浮点数,即 在内部使用,无论尾数的大小。因此,他们 如果没有 精度损失小。这可能会导致令人困惑
<?php
echo (int) ((0.1 + 0.7)*10);//displays an output: `7`
?>
我本来希望看到8,但我得到了7-请解释一下这种行为
这是PHP的一个特殊功能吗?或者我不理解PHP中的整数类型
谢谢。请回答以下问题:
另外,有理数可以精确表示为
以10为基数的浮点数,如0.1或0.7,没有
精确表示为基数2中的浮点数,即
在内部使用,无论尾数的大小。因此,他们
如果没有
精度损失小。这可能会导致令人困惑的结果:例如
例如,floor0.1+0.7*10通常返回7,而不是
预期为8,因为内部表示类似于
7.9999999999999118
为什么要否决投票?你介意解释一下吗?可能是重复的,可能内部演示不同。您可能对阅读PHP手册感兴趣