php如何把一位数字转为大写


这篇文章主要介绍了php如何把一位数字转为大写的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何把一位数字转为大写文章都会有所收获,下面我们一起来看看吧。 实现过程:首先,需要知道数字的各个位数的名称。比如:数字 “0” 被称为 “零”;数字 “1” 被称为 “壹”;数字 “2” 被称为 “贰”;数字 “3” 被称为 “叁”;数字 “4” 被称为 “肆”;数字 “5” 被称为 “伍”;数字 “6” 被称为 “陆”;数字 “7” 被称为 “柒”;数字 “8” 被称为 “捌”;数字 “9” 被称为 “玖”。然后,需要知道数字的各个位数所代表的意义。一般而言,数字转大写的方法是,先将数字从个位往高位进行分解,并把每个位数转化为大写字母,再加上相应的单位,如“万”、“亿”、“千”等等。在这个过程中需要注意的是,“零”的使用。接下来,我们可以先把所需的数字做一次字符串化,使其成为一个字符串类型。我们可以使用 PHP 内置的 str_split() 函数将字符串按位数分开,再倒序排列。然后使用 switch 语句进行判断,转换成大写形式并加上相应单位,存储到一个数组中。最后把数组中的所有数相加即可。示例代码:

functionconvert_num_to_upper($num){
$str=strval($num);//数字转字符串
$len=strlen($str);

$tmp_arr=array();
switch($len){
case2:
$tmp_arr[2]="拾";
break;
case3:
$tmp_arr[3]="佰";
$tmp_arr[2]="拾";
break;
case4:
$tmp_arr[4]="仟";
$tmp_arr[3]="佰";
$tmp_arr[2]="拾";
break;
case5:
$tmp_arr[5]="万";
$tmp_arr[4]="仟";
$tmp_arr[3]="佰";
$tmp_arr[2]="拾";
break;

case6:
case7:
case8:
$tmp_arr[6]="拾万";
$tmp_arr[5]="万";
$tmp_arr[4]="仟";
$tmp_arr[3]="佰";
$tmp_arr[2]="拾";
break;

case9:
$tmp_arr[9]="亿";
$tmp_arr[8]="仟万";
$tmp_arr[7]="拾万";
$tmp_arr[6]="万";
$tmp_arr[5]="仟";
$tmp_arr[4]="佰";
$tmp_arr[3]="拾";
break;

default:
break;
}


$result_arr=array();
$num_arr=str_split($str);
rsort($num_arr);

$last_zero=false;//上一位数是否为零,初始值为false
foreach($num_arras$key=>$num){
switch($num){
case"0":
if($last_zero==true){
continue;
}else{
$last_zero=true;
$result_arr[]="零";
}
break;

default:
$last_zero=false;
$result_arr[]=$this->num_to_upper($num).$tmp_arr[$key+1];
break;
}
}

$result=implode("",$result_arr);

return$result;
}


functionnum_to_upper($num){
switch($num){
case"0":
return"零";
break;
case"1":
return"壹";
break;
case"2":
return"贰";
break;
case"3":
return"叁";
break;
cas免费云主机域名e"4":
return"肆";
break;
case"5":
return"伍";
break;
case"6":
return"陆";
break;
case"7":
return"柒";
break;
case"8":
return"捌";
break;
case"9":
return"玖";
break;
}
}

这里就实现了将数字转成大写的方法。通过这个函数,我们可以将任意长度的数字转换成大写形式。关于“php如何把一位数字转为大写”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“php如何把一位数字转为大写”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注百云主机行业资讯频道。

相关推荐: Node.js开发的知识点有哪些

这篇文章主要介绍“Node.js开发的知识点有哪些”,在日常操作中,相信很多人在Node.js开发的知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Node.js开发的知识点有哪些”的疑惑有所帮助!接下来,请跟着小编一…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 05/26 11:35
下一篇 05/26 11:35

相关推荐