ホームページ  >  記事  >  バックエンド開発  >  PHPで数字を中国語に変換する方法

PHPで数字を中国語に変換する方法

藏色散人
藏色散人オリジナル
2020-07-25 10:35:183637ブラウズ

php 数値を中国語に変換する方法: 最初に PHP サンプル ファイルを作成し、次に「cny」メソッドを定義し、メソッド本体で数値を整数と小数に分割し、それぞれ変数に割り当てます。 call 「cny」メソッドを使用して変換結果を出力するだけです。

PHPで数字を中国語に変換する方法

推奨事項: 「PHP チュートリアル

プログラムを実行していると、数値の問題に遭遇します。お金の数値を変換する中国語の大文字の通貨番号

メソッド

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

PHPで数字を中国語に変換する方法

関数の呼び出し

echo cny('120.18');

PHPで数字を中国語に変換する方法

編集者がWebサイトで栗をたくさん見つけたので、これが一番コードが少ないと感じたのですが、実際に使ってみると配列オーバーフローなどのエラーが報告されたため、編集者が作成したコードです。変更されました。誰もが柔軟に使用できます

以上がPHPで数字を中国語に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。