侧边栏壁纸
  • 累计撰写 100 篇文章
  • 累计创建 55 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录
PHP

PHP 将阿拉伯数字转化为汉字

Malson
2022-06-25 / 0 评论 / 0 点赞 / 67 阅读 / 246 字
function num2char($num,$mode=true){
    $char = array('零','一','二','三','四','五','六','七','八','九');
    //$char = array('零','壹','贰','叁','肆','伍','陆','柒','捌','玖);
    $dw = array('','十','百','千','','万','亿','兆');
    //$dw = array('','拾','佰','仟','','萬','億','兆');
    $dec = '点';  //$dec = '點';
    $retval = '';
    if($mode){
        preg_match_all('/^0*(\d*)\.?(\d*)/',$num, $ar);
    }else{
        preg_match_all('/(\d*)\.?(\d*)/',$num, $ar);
    }
    if($ar[2][0] != ''){
        $retval = $dec . ch_num($ar[2][0],false); //如果有小数,先递归处理小数
    }
    if($ar[1][0] != ''){
        $str = strrev($ar[1][0]);
        for($i=0;$i<strlen($str);$i++) {
            $out[$i] = $char[$str[$i]];
            if($mode){
                $out[$i] .= $str[$i] != '0'? $dw[$i%4] : '';
                if($str[$i]+$str[$i-1] == 0){
                    $out[$i] = '';
                }
                if($i%4 == 0){
                    $out[$i] .= $dw[4+floor($i/4)];
                }
            }
        }
        $retval = join('',array_reverse($out)) . $retval;
    }
    return $retval;
}
0
博主关闭了所有页面的评论