不明白这个简单的PHP代码是如何工作的

man*_*ams 1 php

可能重复:
PHP Math Precision

以下php代码输出7但我希望8.为什么区别?

<?php echo (int)((0.1+0.7)*10); ?>
Run Code Online (Sandbox Code Playgroud)

Ult*_*nct 6

因为浮点表示不准确,0.1 + 0.7并不完全等于0.8.它可能比那个微不足道.当你使用时int(..),它会将其截断为7.