我有一段代码用于将十进制数转换为基数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个有用数字,是我的目标!我怎么解决呢?
答案 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;
答案 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