我在解決printf的問題時遇到了問題。有人可以解釋,因爲這是我得到的結果:請幫忙解釋一下PHP printf
$f = 62.444444444444;
printf('%.2f', $f); // shows 62.4419
爲什麼不是62.44?
我在解決printf的問題時遇到了問題。有人可以解釋,因爲這是我得到的結果:請幫忙解釋一下PHP printf
$f = 62.444444444444;
printf('%.2f', $f); // shows 62.4419
爲什麼不是62.44?
因爲%.2f
表示:插入一個精度爲2位的浮點數。
這[鏈接](http://www.php.net/manual/en/function.printf.php#27561)也解釋了一些。 – Galled
-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)。 –