人民币数字转化为大写的汉文

Posted pansidong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了人民币数字转化为大写的汉文相关的知识,希望对你有一定的参考价值。

    public function ggg(){
        $s = $this->cny(‘122‘);
        echo $s;      //壹佰贰拾贰元
    }




    /***
     *人民币大写转化;~~~
     */
    private 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("",$this->_cny_map_unit(str_split($ns1),$grees)),""));
        $ret = implode("",array_reverse($this->_cny_map_unit($ret,$cnyunits)));
        return str_replace(array_keys($cnums),$cnums,$ret);
    }


    private 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;
    }

以上是关于人民币数字转化为大写的汉文的主要内容,如果未能解决你的问题,请参考以下文章

数字人民币(RMB)转化为大写汉字表达

小写数字自动转换成大写人民币金额两张表怎么在桌面找不同吗?

excel数字小写转大写公式的教程

将金额人民币转化为大写

在WORD中怎样用VBA将人民币大写金额转换成小写金额

中英文金额大写转换器