我在解决printf的意图时遇到了问题。有人可以解释,因为这是我得到的结果:
$f = 62.444444444444;
printf('%.2f', $f); // shows 62.4419
为什么不是62.44?
答案 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
之后再次发布