如果要用于金额的转换,对小数部分的处理要做一下修改 <?php functionch_num($num,$mode=true){ $char=array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖"); $dw=array("","拾","佰","仟","","萬","億","兆"); $dec="點"; $retval=""; if($mode) preg_match_all("/^0(d).?(d)/",$num,$ar); else preg_match_all("/(d).?(d*)/",$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; } //echoch_num("12345006789001.123"); //echoch_num("880079.1234"); echoch_num("300045.0123"); ?> (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|