【发布时间】:2013-04-05 01:07:10
【问题描述】:
我有一个整数,我需要将其转换为 4 位字符串。我知道整数介于 1 和 9999 之间。如果数字是 4,我希望输出字符串为“0004”。如果数字是134,我需要字符串输出为“0134”等等。
在 PHP 中实现这一目标的最短最优雅的方法是什么?谢谢。
【问题讨论】:
标签: php string numbers integer
我有一个整数,我需要将其转换为 4 位字符串。我知道整数介于 1 和 9999 之间。如果数字是 4,我希望输出字符串为“0004”。如果数字是134,我需要字符串输出为“0134”等等。
在 PHP 中实现这一目标的最短最优雅的方法是什么?谢谢。
【问题讨论】:
标签: php string numbers integer
试试这个
$num = 1;
$paddedNum = sprintf("%04d", $num);
echo $paddedNum;
【讨论】:
试试这个
str_pad($input, 4, "0", STR_PAD_LEFT);
这对整数和字符串都有效
【讨论】:
http://php.net/manual/de/function.str-pad.php
$input = 9;
$str = str_pad($input, 4, "0", STR_PAD_LEFT); //results in 0009
【讨论】:
您可以将 sprintf 与 %d 选项一起使用:
$NewString = sprintf( "%04d", $OldNumber);
04 告诉 sprintf 你的号码应该是多少位数,如果没有达到这个数字,将用零填充。
【讨论】:
$num = rand(1,9999);
echo sprintf( "%04d", $num);
试试这个。
【讨论】: