这篇文章主要介绍了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开发的知识点有哪些”的疑惑有所帮助!接下来,请跟着小编一…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。