有没有办法让PHP显示2(或x)个小数位,但如果整数不显示.00
我看过number_format,但它看起来并不完全适应这个......虽然我想每3个非小数位的逗号
34.00 => 34
34.7 => 34.70
12424.9=> 12,424.90
我的数字存储为数据库中带有2个小数位的浮点数,因此我不一定需要
答案 0 :(得分:1)
你可以做的是先检查它是否是整数,然后用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);
}