如果它具有非零小数,我想显示一个浮点数的一个小数。
最优雅的方法是什么?
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
答案 0 :(得分:3)
ini_set("precision", 8); /* low enough; eventually if needed */
var_dump((string)round($float, 1));
这应该完成任务
答案 1 :(得分:3)
以下列方式使用。
$x = "99.44"; // example value
$y = number_format((float)$x, 1, '.', '');
echo str_replace(".0","",$y);
答案 2 :(得分:0)
$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
答案 3 :(得分:0)
我更喜欢这种方式:
$num = 100.1;
echo (floor($num) == $num) ? $num : number_format($num,1);