我正在尝试在 PHP 中格式化一个数字,使其始终在小数点前至少有 2 位,无论我用谷歌搜索/尝试什么,似乎都无法弄清楚。我宁愿只在小数点前没有整数时才这样做。
这将是理想的所需输出,因为我事先不知道数字,它每页都会变化。
0.59 becomes 00.59
1.00 stays 1.00
0.43 becomes 00.43
14.56 stays 14.56
有什么想法吗?
如果数字小于 1,则添加 0:
$res = (($num < 1) ? '0' : '').number_format($num, 2);
这是一种做你想做的事的方法:
$num = 0.342;
$num = number_format(round((float) $num, 2),2);
if ($num < 1) $num = str_pad($num,5,'0',STR_PAD_LEFT);
echo $num;
如果您不在 Windows 上,则此方法有效:
$num = 0.59;
echo trim(money_format("%=0#2.2n", (float)$num));
如果在输出中获取货币符号,则可能还需要添加 ! 标志。
请参阅 php.net/money_format