如何转换php数字大写

  介绍

这篇文章运用简单易懂的例子给大家介绍如何转换php数字大写,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

php数字转换大写的方法:首先判断输出的金额是否为数字或数字字符串,然后预定义中文转换的数组以及单位转换的数组,接着将金额的数值字符串拆分成数组;最后将整数部分替换成大写汉字即可。

<强> php数字金额转换大写金额

代码如下:

/* *   *将数值金额转换为中文大写金额   * @param美元金额浮动金额(分)   *类型int (@param美元补整类型,0:到角补整;1:到元补整   * @return混合中文大写金额   */函数convertAmountToCn(数量、类型=1美元){   如果($金额==0){   返回“零元整“;   }   如果(strlen(美元金额)比;12){   返回“不支持万亿及更高金额“;   }//预定义中文转换的数组   $数字=阵列(& # 39;零& # 39;& # 39;壹& # 39;,& # 39;贰& # 39;,& # 39;叁& # 39;,& # 39;肆& # 39;,& # 39;伍& # 39;,& # 39;陆& # 39;,& # 39;柒& # 39;,& # 39;捌& # 39;,& # 39;玖& # 39;);//预定义单位转换的数组   $位置=阵列(& # 39;仟& # 39;& # 39;佰& # 39;,& # 39;拾& # 39;,& # 39;亿& # 39;,& # 39;仟& # 39;,& # 39;佰& # 39;,& # 39;拾& # 39;,& # 39;万& # 39;,& # 39;仟& # 39;,& # 39;佰& # 39;,& # 39;拾& # 39;,& # 39;元& # 39;);//将金额的数值字符串拆分成数组   $ amountArr=爆炸(& # 39;强生# 39;,美元金额);//将整数位的数值字符串拆分成数组   (函数integerArr=美元amountArr [0], 1);//将整数部分替换成大写汉字   $=& # 39;结果人民币& # 39;;   $ integerArrLength=count ($ integerArr);   $ positionLength=count($位置);   ($ i=0;i

经过考虑后,发现之前写的代码不够严谨,特此补充了一份新版的代码

/* *   *将数值金额转换为中文大写金额   * @param美元金额浮动金额(支持到分)   *类型int (@param美元补整类型,0:到角补整;1:到元补整   * @return混合中文大写金额   */函数convertAmountToCn(数量、类型=1美元){//判断输出的金额是否为数字或数字字符串   如果(! is_numeric金额($)){   返回“要转换的金额只能为数字!“;   }//金额为0,则直接输出“零元整,   如果($金额==0){   返回“人民币零元整“;   }//金额不能为负数   如果(美元金额& lt;0){   返回“要转换的金额不能为负数!“;   }//金额不能超过万亿,即12位   如果(strlen(美元金额)比;12){   返回“要转换的金额不能为万亿及更高金额!“;   }//预定义中文转换的数组   $数字=阵列(& # 39;零& # 39;& # 39;壹& # 39;,& # 39;贰& # 39;,& # 39;叁& # 39;,& # 39;肆& # 39;,& # 39;伍& # 39;,& # 39;陆& # 39;,& # 39;柒& # 39;,& # 39;捌& # 39;,& # 39;玖& # 39;);//预定义单位转换的数组   $位置=阵列(& # 39;仟& # 39;& # 39;佰& # 39;,& # 39;拾& # 39;,& # 39;亿& # 39;,& # 39;仟& # 39;,& # 39;佰& # 39;,& # 39;拾& # 39;,& # 39;万& # 39;,& # 39;仟& # 39;,& # 39;佰& # 39;,& # 39;拾& # 39;,& # 39;元& # 39;);//将金额的数值字符串拆分成数组   $ amountArr=爆炸(& # 39;强生# 39;,美元金额);//将整数位的数值字符串拆分成数组   (函数integerArr=美元amountArr [0], 1);//将整数部分替换成大写汉字   $=& # 39;结果人民币& # 39;;   $ integerArrLength=count ($ integerArr);//整数位数组的长度   $ positionLength=count($位置);//单位数组的长度   ($ i=0;美元我& lt;integerArrLength美元;$我+ +){//如果数值不为0,则正常转换   if ($ integerArr[我]美元!=0){   结果=美元的结果。美元$数字[integerArr [$ i]]。美元地位[positionLength - integerArrLength美元+ $ i];   其他}{//如果数值为0,且单位是亿,万,元这三个的时候,则直接显示单位   如果((positionLength - integerArrLength美元+ $ i + 1) % 4==0) {   结果=美元的结果。美元地位[positionLength - integerArrLength美元+ $ i];   }   }   }//如果小数位也要转换   如果($ type==0) {//将小数位的数值字符串拆分成数组   (函数decimalArr=美元amountArr [1], 1);//将角替换成大写汉字。如果为0,则不替换   如果($ decimalArr [0] !=0) {   结果=美元的结果。美元$数字[decimalArr [0]]。& # 39;角& # 39;;   }//将分替换成大写汉字。如果为0,则不替换   如果($ decimalArr [1] !=0) {   结果=美元的结果。美元$数字[decimalArr [1]]。& # 39;分& # 39;;   }   其他}{   结果=美元的结果。& # 39;整& # 39;;   }   返回结果美元;   }

如何转换php数字大写