Home >Backend Development >PHP Problem >How to convert numbers to Chinese in php
php How to convert numbers to Chinese: First create a PHP sample file; then define a "cny" method; then split the numbers into integers and decimals in the method body, and assign them to variables respectively; finally call Just use the "cny" method and output the conversion result.
Recommendation: "PHP Tutorial"
When doing programs, we will encounter the problem of numbers Convert money number to Chinese uppercase money number
Method
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; }
Calling function
echo cny('120');
Calling function
echo cny('120.18');
The editor found a lot of chestnuts on the website and felt that this one has the least code. However, when I used it, errors such as array overflow would be reported, so now this is the code that the editor has modified. . Everyone can use it flexibly
The above is the detailed content of How to convert numbers to Chinese in php. For more information, please follow other related articles on the PHP Chinese website!