码迷,mamicode.com
首页 > Web开发 > 详细

PHP实现数字金额转中文金额

时间:2016-07-01 23:13:34      阅读:373      评论:0      收藏:0      [点我收藏+]

标签:php   发票金额   

 解决发票系统中,发票单上需要填写中文金额的问题:

 function ToChineseNum($num) {
        $zh_num = [‘零‘, ‘壹‘, ‘贰‘, ‘叁‘, ‘肆‘, ‘伍‘, ‘陆‘, ‘柒‘, ‘捌‘, ‘玖‘];
        $zh_unit = [‘分‘, ‘角‘, ‘元‘, ‘拾‘, ‘佰‘, ‘仟‘, ‘万‘, ‘拾‘, ‘佰‘, ‘仟‘, ‘亿‘, ‘拾‘, ‘佰‘, ‘仟‘];
        if (!is_numeric(str_replace(‘,‘, ‘‘, $num))) {
            return $num;
        }
        $number = strrev(round(str_replace(‘,‘, ‘‘, $num), 2) * 100);
        $length = strlen($number);
        $ch_str = ‘‘;
        for ($length; $length > 0; $length--) {
            $index = $length - 1;
            if ($number[$index] == ‘0‘ && !in_array($zh_unit[$index], [‘万‘, ‘元‘, ‘亿‘])) {
                $ch_str.=$zh_num[$number[$index]];
            } elseif ($number[$index] == ‘0‘ && in_array($zh_unit[$index], [‘万‘, ‘元‘, ‘亿‘])) {
                $ch_str.= $zh_unit[$index];
            } else {
                $ch_str.=$zh_num[$number[$index]] . $zh_unit[$index];
            }
        }
        $format_str = trim(str_replace([‘零零‘, ‘零万‘, ‘零元‘, ‘零亿‘], [‘零‘, ‘万‘, ‘元‘, ‘亿‘], $ch_str), ‘零‘);
        if (preg_match(‘/(分|角)/‘, $format_str) === 0) {
            $format_str.=‘整‘;
        }
        return $format_str;
    }


PHP实现数字金额转中文金额

标签:php   发票金额   

原文地址:http://suiwnet.blog.51cto.com/2492370/1794993

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!