今天就跟大家聊聊有关如何使用php实现数字转中文,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
php数字转中文的实现方法:首先创建一个PHP示例文件;然后定义一个“cny”方法;接着在方法体内实现将数字拆分成整数小数,并分别赋值给变量;最后调用“cny”方法并输出转换结果即可。
在做程序的时候,我们会遇到要把数字的钱数转为中文的大写钱数
方法
function cny($money) { $cnums=array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖"); $cnyunits=array("圆","角","分"); $grees=array("拾","佰","仟","万","拾","佰","仟","亿"); if(strpos($money,'.') !== false){ //拆分整数小数 分别赋值给变量 list($int,$dec)=explode(".",$money,2); }else{ list($int,$dec)=[$money,0]; } $dec=array_filter(array($dec[1],$dec[0])); //过滤分数 $ret=array_merge($dec,array(implode("",cny_to_unit(str_split($int),$grees)),"")); //先处理单位 $ret=implode("",array_reverse(cny_to_unit($ret,$cnyunits))); return str_replace(array_keys($cnums),$cnums,$ret); }
function cny_to_unit($list,$units) { $ul=count($units); $xs=array(); foreach (array_reverse($list) as $x) { /反转数组便于处理 $l=count($xs); if ($x!="0" || !($l%4)) { if ($l != 0) { $n=($x=='0'?'':$x).($units[($l-1)%$ul]); }else{ $n=($x=='0'?'':$x); } } else { $n=is_numeric($xs[0][0])?$x:''; } array_unshift($xs,$n); } return $xs; }
调用函数
echo cny('120');
调用函数
echo cny('120.18');
小编在网站上找到很多的栗子,觉得这个是代码最少的,但是我在用的过程中,会报数组溢出等错误,所以现在是小编改造过的代码。大家可以灵活运用
看完上述内容,你们对如何使用php实现数字转中文有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。