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


Do not understand how this simple php code works

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
PHP Math Precision

下面的PHP代码输出7,但我期望8。为什么不同?

1
<?php echo (int)((0.1+0.7)*10); ?>


由于浮点表示不准确,0.1+0.7不完全等于0.8。可能比那要小一些。当你使用int(..)时,它会把它截为7。


其他人已经指出了这个问题。如果您使用的是固定的小数位数(例如,使用货币时),那么最好计算和存储美分,并在向用户显示值时将其转换回美元/欧元/无论什么。