请帮忙解释PHP printf

时间:2011-11-17 16:18:25

标签: php printf

我在解决printf的意图时遇到了问题。有人可以解释,因为这是我得到的结果:

$f = 62.444444444444;
printf('%.2f', $f); // shows 62.4419

为什么不是62.44?

3 个答案:

答案 0 :(得分:0)

因为%.2f表示:插入一个精度为2的浮点数。

答案 1 :(得分:0)

你的php版本是什么?

这个代码我得到62.44

$f = 62.4444444;
printf('%.2f', $f); // Output 62.44

答案 2 :(得分:0)

这似乎是printf中的一个错误,因为在这种情况下我得到62.445。请尝试使用sprintf:

echo sprintf('%.2f', $f);

[edit]

毕竟不是一个错误。我的交互式shell执行一些额外的类型转换。这样的事情也可能发生在你身上,或者像Marc B在评论中说的那样,其他事情就是在19之后再次发布