如何在PHP中为数字添加前导零和逗号
我有一个变量如何在PHP中为数字添加前导零和逗号,php,integer,format,number-formatting,Php,Integer,Format,Number Formatting,我有一个变量$counter,它返回以下整数: 4 我想使用数字格式或类似格式使我的整数以这种格式显示: 000,000,004 如何才能做到这一点?您可以这样使用和: $number = 4; $formattedNumber = sprintf("%09d", $number); $formattedNumber = str_split($formattedNumber, 3); $formattedNumber = implode(",", $formattedNumber); ech
$counter
,它返回以下整数:
4
我想使用数字格式或类似格式使我的整数以这种格式显示:
000,000,004
如何才能做到这一点?您可以这样使用和:
$number = 4;
$formattedNumber = sprintf("%09d", $number);
$formattedNumber = str_split($formattedNumber, 3);
$formattedNumber = implode(",", $formattedNumber);
echo $formattedNumber;
编辑:
下面是上述代码的一个杀手级变体,它使用:
您可以使用以下功能:
str_pad((4,2,"0",STR_PAD_LEFT);
你可以做的一个方法是
另一个是使用
使用
对于大于
100000000
的数字,的可能重复项无法正常工作。(给出100000000,0而不是100000000)。@Artefact2:见修改后的答案。
str_pad((4,2,"0",STR_PAD_LEFT);
sprintf('%03d', $counter);
str_pad($counter, 3, "0", STR_PAD_LEFT);
$string = "4";
echo str_pad($string, 9, "0", STR_PAD_LEFT); // prints "000000004" (9-digit number)
/*
9 = How long the returned value should be. Must be bigger than length of $string
0 = String to add
STR_PAD_LEFT = On which side to add zeros? Left, in the case
*/
$number = 1;
echo number_format($number / 1000, 3, ",", "."); // 2 decimals, "," and "." as seperators
// gives 0,001