如何在数字的左侧添加零

时间:2014-04-11 19:54:53

标签: php

我有一段代码用于将十进制数转换为基数3

$number = 10; // For Example
$from_base = 10;
$to_base = 3;
$base_three = base_convert ( $number , $from_base ,  $to_base );
echo $base_three;

所以它回声的数字是101,它有3位数。 但我回到它的回声是000101所以它有6位数。 将十进制转换为基数3,总是6位数,即使它只有3或4个有用数字,是我的目标!我怎么解决呢?

4 个答案:

答案 0 :(得分:2)

试试这个

echo str_pad($base_three, 6, "0", STR_PAD_LEFT);

答案 1 :(得分:0)

您可以使用sprintf来确保它始终总共有6个数字,前导零:

$base_three = 101;
$padded = sprintf("%06s", $base_three);
echo $padded;

答案 2 :(得分:0)

转换为字符串并填充0。

$test = str_pad($base_three, 6, '0', STR_PAD_LEFT);
echo $test;

http://php.net/manual/en/function.str-pad.php

答案 3 :(得分:0)

您可以使用sprintf确保始终输出6位数字,无论您拥有多少数字:

$number = 010;
sprintf("%06d", $number);

所以完整的代码将是:

$number = 10; // For Example
$from_base = 10;
$to_base = 3;
$base_three = base_convert ( $number , $from_base ,  $to_base );
echo sprintf("%06d", $base_three);

printf("%06d", $base_three);

printf格式化变量并回显它,sprintf()没有回显但是返回它

(s)printf可以做更多事情,请参阅http://www.php.net/manual/en/function.sprintf.php