PHP 是否可以显示 2(或 x)位小数,但如果是整数则不显示 .00?
我看过number_format ,但它看起来并不完全符合这个要求。虽然我希望每 3 个非小数位有一个逗号
34.00 => 34
34.7 => 34.70
12424.9=> 12,424.90
我的数字在数据库中存储为带 2 个小数位的 float ,所以我不一定需要它
最佳答案
您可以先检查它是否为整数,使用 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);
}
关于php - 从存储的十进制打印可读成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10885996/