我想顯示浮點數的一個小數,如果它有非零小數。number_format只有不爲零
什麼是最優雅的方式來做到這一點?
100.00 -> 100
99.45 -> 99.5
99.44 -> 99.4
11.30 -> 11.3
2.00 -> 2
11.02 -> 11
13.05 -> 13.1
我想顯示浮點數的一個小數,如果它有非零小數。number_format只有不爲零
什麼是最優雅的方式來做到這一點?
100.00 -> 100
99.45 -> 99.5
99.44 -> 99.4
11.30 -> 11.3
2.00 -> 2
11.02 -> 11
13.05 -> 13.1
$rounded = (!is_int($number)) ? round($number, 1) : round($number);
我已經測試了上面的樣本數據和輸出任務如下:按以下方式
100.00 > 100
99.45 > 99.5
99.44 > 99.4
11.30 > 11.3
2.00 > 2
11.02 > 11
13.05 > 13
也有作品。謝謝! – Timur
我更喜歡這種方式:
$num = 100.1;
echo (floor($num) == $num) ? $num : number_format($num,1);
不是真的。 $ num = 2.00返回2.00,您的示例返回100.0 – Timur
確定嗎?我已經用您在原始文章中給出的例子對此進行了測試,並且答案完全匹配。 – user352891
http://codepad.viper-7.com/ewZYUx – Timur
什麼你到目前爲止已經試過?你卡在哪裏?你的代碼在哪裏? – Rikesh
@BenM默認舍入是'PHP_ROUND_HALF_UP'。 – cmbuckley