有没有一种方法可以用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, '.', ',');
}
echo (floor($cost) == $cost) ? floor($cost) : money_format('%.2n', $cost);
或者
if (floor($cost) == $cost) {
echo floor($cost);
}
else {
echo money_format('%.2n', $cost);
}
floor($cost)
的结果存储在一个变量中,以防止重复计算同一件事。:) 此外,看起来很好。 - Pateman
money_format
。 - Mike B