请帮忙解释一下PHP printf
问题描述:
我在解决printf的问题时遇到了问题。有人可以解释,因为这是我得到的结果:请帮忙解释一下PHP printf
$f = 62.444444444444;
printf('%.2f', $f); // shows 62.4419
为什么不是62.44?
答
因为%.2f
表示:插入一个精度为2位的浮点数。
+0
这[链接](http://www.php.net/manual/en/function.printf.php#27561)也解释了一些。 – Galled
+0
-1这不回答OP的问题。 –
答
你是什么php版本?
我得到62.44这个代码
$f = 62.4444444;
printf('%.2f', $f); // Output 62.44
答
这似乎是在printf的确实是一个错误,因为我在这种情况下获得62.445
。尝试sprintf的替代:
echo sprintf('%.2f', $f);
[编辑]
不是一个错误毕竟。我的交互式shell执行一些额外的类型转换来输出。或者像你这样的事也发生在你身上,或者像Marc B在评论中所说的,其他的东西是19
以后
你确定你在看正确的输出吗?这为我打印62.44 ... – thetaiko
这就是你想要的:'sprintf(“%01.2f”,$ f);' – xbonez
[It works fine](http://ideone.com/snrLZ)。 –