PHP有没有办法显示2(或x)个小数位,但如果是整数则不显示.00?
我看过number_format,但它看起来并不完全适合这个..虽然我希望逗号每隔 3 个非小数位
34.00 => 34
34.7 => 34.70
12424.9=> 12,424.90
我的数字在数据库中存储为带有 2 个小数位的浮点数,所以我不一定需要它
PHP有没有办法显示2(或x)个小数位,但如果是整数则不显示.00?
我看过number_format,但它看起来并不完全适合这个..虽然我希望逗号每隔 3 个非小数位
34.00 => 34
34.7 => 34.70
12424.9=> 12,424.90
我的数字在数据库中存储为带有 2 个小数位的浮点数,所以我不一定需要它
你可以做的是首先检查它是否是一个整数,通过使用floor()对其进行四舍五入并检查它是否等于完整的十进制版本。
echo (floor($cost) == $cost) ? floor($cost) : number_format($cost, 2, '.', ',');
或者
if (floor($cost) == $cost) {
echo floor($cost);
}
else {
echo number_format($cost, 2, '.', ',');
}
另一种选择是使用money_format():
echo (floor($cost) == $cost) ? floor($cost) : money_format('%.2n', $cost);
或者
if (floor($cost) == $cost) {
echo floor($cost);
}
else {
echo money_format('%.2n', $cost);
}