首頁  >  文章  >  後端開發  >  PHP數字轉換為大寫函數方法教程

PHP數字轉換為大寫函數方法教程

小云云
小云云原創
2017-12-13 15:41:131511瀏覽

本文我們主要分享PHP數字轉換為大寫函數方法,當我們在寫支付賬單的時候需要填寫數字金額的大寫,說真的平時沒寫還真寫不出來,為了以後不出現尷尬的場面,還特意去練了那十個字。哈哈,當然,我們在php中也可以轉換的,於是有了下面這個轉換函數:

/**
 * 金额的小写转大写
 * @param $ns int 输入的数字
 */

function cny($ns) {
    static $cnums = array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"),
    $cnyunits = array("圆", "角", "分"),
    $grees = array("拾", "佰", "仟", "万", "拾", "佰", "仟", "亿");
    list($ns1, $ns2) = explode(".", $ns, 2);
    $ns2 = array_filter(array($ns2[1], $ns2[0]));
    $ret = array_merge($ns2, array(implode("", _cny_map_unit(str_split($ns1), $grees)), ""));
    $ret = implode("", array_reverse(_cny_map_unit($ret, $cnyunitss)));
    return str_replace(array_keys($cnums), $cnums, $ret);
}

function _cny_map_unit($list, $units) {
    $ul = count($units);
    $xs = array();
    foreach (array_reverse($list) as $x) {
        $l = count($xs);
        if ($x != "0" || !($l % 4))
            $n = ($x == '0' ? '' : $x) . ($units[($l - 1) % $ul]);
        else
            $n = is_numeric($xs[0][0]) ? $x : '';
        array_unshift($xs, $n);
    }
    return $xs;
}

查看原文>> 曼巴童鞋- 博客- PHP 數字轉換為大寫函數


當我們在寫支付帳單的時候需要填寫數字金額的大寫,說真的平常沒寫還真寫不出來,為了以後不出現尷尬的場面,還特意去練了那十個字。哈哈,當然,我們在php中也可以轉換的,於是有了下面這個轉換函數:

/**
 * 金额的小写转大写
 * @param $ns int 输入的数字
 */

function cny($ns) {
    static $cnums = array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"),
    $cnyunits = array("圆", "角", "分"),
    $grees = array("拾", "佰", "仟", "万", "拾", "佰", "仟", "亿");
    list($ns1, $ns2) = explode(".", $ns, 2);
    $ns2 = array_filter(array($ns2[1], $ns2[0]));
    $ret = array_merge($ns2, array(implode("", _cny_map_unit(str_split($ns1), $grees)), ""));
    $ret = implode("", array_reverse(_cny_map_unit($ret, $cnyunitss)));
    return str_replace(array_keys($cnums), $cnums, $ret);
}

function _cny_map_unit($list, $units) {
    $ul = count($units);
    $xs = array();
    foreach (array_reverse($list) as $x) {
        $l = count($xs);
        if ($x != "0" || !($l % 4))
            $n = ($x == '0' ? '' : $x) . ($units[($l - 1) % $ul]);
        else
            $n = is_numeric($xs[0][0]) ? $x : '';
        array_unshift($xs, $n);
    }
    return $xs;
}

相關推薦:

php數字轉換為指定長度字串的函數

php數字轉中文函數實例詳細介紹

#詳解php數字和字串比較容易出現的陷阱

#

以上是PHP數字轉換為大寫函數方法教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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