PHP金额转换大写

    #转换金额大写    
    function toChineseNumber($money)
    {
        $money = round($money,2);
        $cnynums = array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");
        $cnyunits = array("元","角","分");
        $cnygrees = array("拾","佰","仟","万","拾","佰","仟","亿");
        list($int,$dec) = explode(".",$money,2);
        $dec = array_filter(array($dec[1],$dec[0]));
        $ret = array_merge($dec,array(implode("",$this->cnyMapUnit(str_split($int),$cnygrees)),""));
        $ret = implode("",array_reverse($this->cnyMapUnit($ret,$cnyunits)));
        return str_replace(array_keys($cnynums),$cnynums,$ret);
    }
    function cnyMapUnit($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;
    }

 $data = 123456;

 $Capital = $this->toChineseNumber($data);

 

 

复制粘贴即可

posted @ 2017-07-17 18:06  郜志杰的博客  阅读(221)  评论(0编辑  收藏  举报