首頁  >  文章  >  後端開發  >  php中怎麼實現大寫數字轉阿拉伯數字

php中怎麼實現大寫數字轉阿拉伯數字

王林
王林原創
2021-09-17 14:01:362586瀏覽

php中實作大寫數字轉阿拉伯數字的方法:【function chinese2number($chNum) { $numArr = array('零' => '0','一' => '1','二' => '2','三' => ...】。

php中怎麼實現大寫數字轉阿拉伯數字

本文操作環境:windows10系統、php 7、thinkpad t480電腦。

由於工作需要我們可能需要將大寫的數字轉換成對應的阿拉伯數字,可能很多小夥伴並沒有研究過這個問題,所以一時間不知道該如何去寫。下面我們就來看看如何實現將大寫數字轉換成相應的阿拉伯數字。

代碼實現:

function chinese2number($chNum) {
    $numArr = array(
        '零' => '0',
        '一' => '1',
        '二' => '2',
        '三' => '3',
        '四' => '4',
        '五' => '5',
        '六' => '6',
        '七' => '7',
        '八' => '8',
        '九' => '9',
    );
    $numUnit = array(
        '十' =>'10',
        '百' =>'100',
        '千' =>'1000',
        '万' =>'10000',
        '亿' =>'100000000',
    );
    $number = 0;
    for ($i = 0;$i<=mb_strlen($chNum); $i++) {
        $str = mb_substr($chNum,$i,2);
        $first = mb_substr($str,0,1);
        $second = mb_substr($str,1,1);
        if (isset($numUnit[$first])){
            if (!$number) {
                $number = 1;
            }
            $number *= $numUnit[$first];
        } else if (isset($numArr[$first])) {
            $i++;
            if (isset($numArr[$second])) {
                if ($numArr[$first] == 0) {
                    $i--;
                }else{
                    $number += intval($numArr[$first].$numArr[$second]);
                }
            } else if(isset($numUnit[$second])) {
                $number += intval($numArr[$first]*$numUnit[$second]);
            } else{
                $number += intval($numArr[$first]);
            }
        }

    }
    return $number;
}

推薦學習:php訓練

#

以上是php中怎麼實現大寫數字轉阿拉伯數字的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn