实用函数-php数字转为汉字金额
<?php /** * 数字转换为中文 * @param string|integer|float $num 目标数字 * @param integer $mode 模式[true:金额(默认),false:普通数字表示] * @param boolean $sim 使用小写(默认) * @return string */ function number2chinese($num,$mode = true,$sim = true){ if(!is_numeric($num)) return "含有非数字非小数点字符!"; $char = $sim ? array("零","一","二","三","四","五","六","七","八","九") : array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖"); $unit = $sim ? array("","十","百","千","","万","亿","兆") : array("","拾","佰","仟","","萬","億","兆"); $retval = $mode ? "元":"点"; //小数部分 if(strpos($num, ".")){ list($num,$dec) = explode(".", $num); $dec = strval(round($dec,2)); if($mode){ $retval .= "{$char[$dec["0"]]}角{$char[$dec["1"]]}分"; }else{ for($i = 0,$c = strlen($dec);$i < $c;$i++) { $retval .= $char[$dec[$i]]; } } } //整数部分 $str = $mode ? strrev(intval($num)) : strrev($num); for($i = 0,$c = strlen($str);$i < $c;$i++) { $out[$i] = $char[$str[$i]]; if($mode){ $out[$i] .= $str[$i] != "0"? $unit[$i%4] : ""; if($i>1 and $str[$i]+$str[$i-1] == 0){ $out[$i] = ""; } if($i%4 == 0){ $out[$i] .= $unit[4+floor($i/4)]; } } } $retval = join("",array_reverse($out)) . $retval; return $retval; } //实例调用===================================================== $num = "0123648867.789"; echo $num,"<br>"; //普通数字的汉字表示 echo "普通:",number2chinese($num,false),""; echo "<br>"; //金额汉字表示 echo "金额(简体):",number2chinese($num,true),""; echo "<br>"; echo "金额(繁体):",number2chinese($num,true,false); ?>
运行截图:
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: 截取中英文字符函数
- 下一篇:没有了