2
A
回答
4
您可以使用sprintf()
和str_split()
在一起,就像这样:
$number = 4;
$formattedNumber = sprintf("%09d", $number);
$formattedNumber = str_split($formattedNumber, 3);
$formattedNumber = implode(",", $formattedNumber);
echo $formattedNumber;
编辑:
下面是一个使用str_pad()
上面的代码中的一个杀手变种:
function formatNumber($number, $desiredLength, $separatorLength) {
$formattedNumber = str_pad($number, $desiredLength, "0", STR_PAD_LEFT);
while(strlen($formattedNumber) % $separatorLength){
$formattedNumber = " " . $formattedNumber;
}
$formattedNumber = str_split($formattedNumber, $separatorLength);
$formattedNumber = implode(",", $formattedNumber);
return trim($formattedNumber);
}
echo formatNumber( 4, 9, 3); // 000,000,004 -- fixed width
echo formatNumber(4000000000, 9, 3); // 4,000,000,000 -- fixed width; overflow handled automatically
echo formatNumber( 4, 0, 3); // 4 -- no width specified
echo formatNumber( 4000, 0, 3); // 4,000 -- no width specified; comma added automatically
+0
对于大于“1000000000”的数字无法正常工作。 (提供100,000,000,0而不是1,000,000,000)。 – Artefact2 2012-07-17 08:59:54
+0
@ Artefact2:查看修订后的答案。 – 2012-07-17 09:42:34
0
可以使用str_pad功能:
str_pad((4,2,"0",STR_PAD_LEFT);
2
0
$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
*/
0
$number = 1;
echo number_format($number/1000, 3, ",", "."); // 2 decimals, "," and "." as seperators
// gives 0,001
相关问题
- 1. PHP如何删除和添加逗号
- 2. 如何向逗号中添加逗号?
- 3. 如何从逗号分隔文件中删除前导零
- 4. CSV for Excel,包括前导零和逗号
- 5. 逗号修剪前导零分隔值一列
- 6. PHP:在每个单词后添加逗号(除了最终)
- 7. 添加到一个逗号
- 8. 如何在Python中添加逗号?
- 9. 如何添加逗号到数在C#
- 10. 添加前缀和逗号在JavaScript计数器
- 11. 仅当php存在时才添加前导零
- 12. 加入JavaScript计数了一些与逗号
- 13. 如何添加前导零以得到月在爪哇(安卓)
- 14. 如何在适用的情况下添加前导零?
- 15. 如何在数字小于10时添加前导零?
- 16. PHP - 试图让json_encode添加逗号和括号
- 17. 添加逗号数组中的PHP
- 18. 了解前导零的str_pad()
- 19. 添加前导零的awk变量
- 20. 添加前导零日期时间C#
- 21. 添加前导零到VARCHAR列
- 22. 向mySQL列添加前导零
- 23. 将前导零添加到文件名
- 24. 向记录添加前导零+铸造
- 25. 如何从sql查询中删除前导单引号和前导零
- 26. 在Java中为一个大字符串添加前导零
- 27. 如何在下一个项目的查询中添加逗号?
- 28. PHP添加逗号到每一个项目,但最后一个
- 29. JS或PHP将前导零添加到小数
- 30. 如何以编程方式在字符串前后添加撇号并在中间添加逗号?
http://stackoverflow.com/questions/1699958/formatting-a-number-的可能重复with-leading-zeros-in-php – 2012-07-17 08:55:07