在php中将 1 转换为 001 ,将 2 转换为 002 等,将 99 转换为 099 等 [重复]
Posted
技术标签:
【中文标题】在php中将 1 转换为 001 ,将 2 转换为 002 等,将 99 转换为 099 等 [重复]【英文标题】:Convert 1 to 001 , 2 to 002 etc and 99 to 099 etc in php [duplicate] 【发布时间】:2015-12-13 23:33:48 【问题描述】:我有从 0 到 999 的数字,并希望以给定的格式打印
0 : 000
1 : 001
2 : 002
.
.
.
.
11 : 011
99 : 099
.
.
111 : 111
999 : 999
什么结束号码是 9999 那么号码长度应该是 4 像(0000 , 0001 , 0022 , 0999 等) 最好的方法是什么
【问题讨论】:
你会在这里得到答案:***.com/questions/1699958/… 需要事先手动“找到最大号码长度”,这取决于号码的处理方式和/或存在哪些其他信息。log
(对数)函数在这种情况下可能很有用。
【参考方案1】:
使用printf() 或sprintf()
$variable=3;
echo sprintf("%'03d", $variable);
一个可选的填充说明符,说明将使用什么字符将结果填充到正确的字符串大小。这可能是空格字符或 0(零字符)。默认是用空格填充。可以通过在其前面加上单引号 (') 来指定备用填充字符。请参阅下面的示例。
【讨论】:
或者sprintf
,如果你想返回字符串而不是打印它。【参考方案2】:
试试str_pad($n, 3, '0', STR_PAD_LEFT)
,$n 是你的号码
【讨论】:
【参考方案3】:你可以使用这个功能:
function formatNbr($nbr)
if ($nbr < 10)
return "00".$nbr;
elseif ($nbr >= 10 && $nbr < 100 )
return "0".$nbr;
else
return strval($nbr);
【讨论】:
【参考方案4】:echo sprintf("%0".strlen($number)."d" , $number);
【讨论】:
以上是关于在php中将 1 转换为 001 ,将 2 转换为 002 等,将 99 转换为 099 等 [重复]的主要内容,如果未能解决你的问题,请参考以下文章