给一个小于10位的正整数以左补0的方式补满10位

给一个小于10位的正整数以左补0的方式补满10位

1、基本思路:(不能使用str_pad函数)

(1)计算获取该正整数的位数,得到需要左补0的个数。

(2)使用循环的方式左补0

2、具体实现的PHP代码:

<?php
	/* Get number's bits */
	function get_num_bits($num) {
		if ($num >= 1 && $num < 10) {
			$bits_len = 1;
		} else if ($num >= 10 && $num < 100) {
			$bits_len = 2;
		} else if ($num >= 100 && $num < 1000) {
			$bits_len = 3;
		} else if ($num >= 1000 && $num < 10000) {
			$bits_len = 4;
		} else if ($num >= 10000 && $num < 100000 ) {
			$bits_len = 5;
		} else if ($num >= 100000 && $num < 1000000) {
			$bits_len = 6;
		} else if ($num >= 1000000 && $num < 10000000) {
			$bits_len = 7;
		} else if ($num >= 10000000 && $num < 100000000) {
			$bits_len = 8;
		} else if ($num >= 100000000 && $num < 1000000000) {
			$bits_len = 9;
		} else {
			$bits_len = 10;
		}
		
		return $bits_len;
	}

	$bits_total = 10;
	$num = 2345;
	$bits_len = get_num_bits($num);
	$pad_len = $bits_total - $bits_len;
	echo '$bits_len = ' , $bits_len , "\n";
	echo '$pad_len = ' , $pad_len , "\n";
	
	$pad_str = '0';
	$num_str = "$num";
#	$num_str = $num;
#	echo 'type($num_str): ' , gettype($num_str) , "\n";
	echo '[1] $num_str = ' , $num_str , "\n";
	
	for($i=0;$i<$pad_len;$i++) {
		$num_str = $pad_str . $num_str;
	}
	
	echo '[2] $num_str = ' , $num_str , "\n";
	echo 'length($num_str): ' , strlen($num_str) , "\n";
?>



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值