PHP舍入问题 - 这是一个错误吗?

时间:2011-06-22 14:26:59

标签: php

  

可能重复:
  Floating point inaccuracy examples

如果我说圆(152.77499999999998,2),答案变为152.78。如果它不看小数点后的第3个数字,如果它是5或更高的向上舍入,如果它是4或更低的舍入,那么答案应该是152.77?

由于

3 个答案:

答案 0 :(得分:1)

你应该这样做:

round(152.77499999999998 * 100)/100

获取确切数字! :)

答案 1 :(得分:1)

很有可能在任何内部表示152.77499999999998被折叠到它实际上更像是152.77500001754 ......;四舍五入上升。

答案 2 :(得分:0)

php的用途是定期舍入。

2年前在这里提出同样的问题:
http://www.webdeveloper.com/forum/showthread.php?t=247953(有什么机会?)