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