function getcn($rmb){ $rmb=str_replace(",","",$rmb); //格式化一下类似1,000,000的金额 phperz.com if (!ereg("^[0-9.]",$rmb))return "请输入正确的金额"; $arr1 = array('零','壹','贰','叁','肆','伍','陆','柒','捌','玖'); $arr2 = array('拾','佰','仟'); $arr=explode(".",$rmb); $rmb_len=strlen($arr[0]); //整数部分 $j=0; for ($i=0;$i<$rmb_len;$i++){ $bit=$arr[0][$rmb_len-$i-1]; $cn=$arr1[$bit]; $unit=$arr2[$j]; if ($i==0) { $re=$cn; } elseif ($i==4){ $re=$cn."万".$re; $j=0; } elseif ($i==8) { $re=$cn."亿".$re; $j=0; } else{ $j++; $re=$bit==0?"零".$re:$cn.$unit.$re; } } if ($arr[1]){ $arr[1][0]==0?$re=$re."元零":$re=$re."元".$arr1[$arr[1][0]]."角"; //角 $arr[1][1]==0?$re=$re."零分":$re=$re.$arr1[$arr[1][1]]."分"; //分 phperz.com } //echo $re."<br>"; $re=preg_replace(array("/(零)+$/","/(零)+/","/零万/","/零亿/"),array("","零","万","亿"),$re); //替换一些数据 $arr[1]?$re:$re.="元整"; echo $re; } 需要注意的地方挺多的呢 1.避免以零结尾 2.避免中间多个零 如零零