可能重复:
PHP 中的格式数字
我想要我的数字格式12 char in length
,就像12
它应该输出 的值一样000000000012
示例:如果值为123.50
,则应输出000000012350
No decimal(100 的倍数)
任何想法,将使用哪个功能?
谢谢 !
可能重复:
PHP 中的格式数字
我想要我的数字格式12 char in length
,就像12
它应该输出 的值一样000000000012
示例:如果值为123.50
,则应输出000000012350
No decimal(100 的倍数)
任何想法,将使用哪个功能?
谢谢 !
您可以使用str_pad
echo str_pad(12, 12, "0", STR_PAD_LEFT);
printf("%012s", 12);
输出
000000000012
一些解决方法
var_dump(formatOutput("12"));
var_dump(formatOutput("123.50"));
var_dump(formatOutput("123.378201"));
function formatOutput($no,$max = 15) {
$no = str_pad("1", strlen(substr(strrchr($no, "."), 1)), "0", STR_PAD_RIGHT) * $no;
if(strpos($no, "."))
$no = str_replace(".", "", $no) . "0" ;
return str_pad($no, $max, "0", STR_PAD_LEFT);
}
输出
string '000000000000012' (length=15)
string '000000000001235' (length=15)
string '000001233782010' (length=15)
string str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] )
此函数将在左侧、右侧或两侧填充的输入字符串返回到指定的填充长度。如果未提供可选参数 pad_string,则使用空格填充输入,否则使用 pad_string 中的字符填充直到限制。
input
输入字符串。
pad_length
如果 pad_length 的值为负数、小于或等于输入字符串的长度,则不会发生填充。
pad_string
如果所需的填充字符数不能除以 pad_string 的长度,则 pad_string 可能会被截断。
pad_type
可选参数 pad_type 可以是 STR_PAD_RIGHT、STR_PAD_LEFT 或 STR_PAD_BOTH。如果未指定 pad_type,则假定为 STR_PAD_RIGHT。