标签: php
可能重复: PHP Math Precision
以下php代码输出7但我希望8.为什么不同?
<?php echo (int)((0.1+0.7)*10); ?>
答案 0 :(得分:6)
由于不准确的浮点表示,0.1 + 0.7不完全等于0.8。它可能比那个微不足道。当您使用int(..)时,它会将其截断为7。
int(..)
答案 1 :(得分:1)
其他人已经指出了这个问题。如果你正在使用固定数量的小数位(例如,当使用金钱时),你最好计算和存储美分并将它们转换回美元/欧元/无论何时向用户显示价值。 / p>