方法
/*** 阿拉伯数字转中文数字** @param $num** @return string*/public static function araNum2ChNum($num){$num = round((float)$num, 2) * 100;if($num == 0) return '零元整';$isInt = $num % 100 == 0;$ret = '';if($num < 0){$ret .= '负';$num = - $num;}$numStr = number_format($num, 0, '', '');$zh = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];$suffix = ['分', '角', '元', '拾', '佰', '仟', '万', '拾', '佰', '仟', '亿', '拾', '佰', '仟', '万'];for($zeroNum = 0, $i = 0, $len = strlen($numStr); $i < $len; $i ++){$v = (int)$numStr[$i];$suffixIndex = $len - $i - 1;if($v == 0){if(2 == $suffixIndex || 6 == $suffixIndex || 11 == $suffixIndex){$ret .= $suffix[$suffixIndex];$zeroNum = 0;}else{$zeroNum ++;}}else{$zeroNum && ($ret .= '零') && $zeroNum == 0;$ret .= ($zh[$v] . $suffix[$suffixIndex]);}}$isInt && $ret .= '整';return $ret;}
用法
$a = '1234.00';p(fun::araNum2ChNum($a));
