Home >Backend Development >PHP Problem >How to convert numbers to Chinese in php

How to convert numbers to Chinese in php

藏色散人
藏色散人Original
2020-07-25 10:35:183763browse

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.

How to convert numbers to Chinese in php

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');

How to convert numbers to Chinese in php

Calling function

echo cny('120.18');

How to convert numbers to Chinese in php

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn