PHP我不會,給你一個JavaScript的吧,希望對你有用function SumToBig(numArg){
var arBig1='零,壹,貳,參,肆,伍,陸,柒,捌,玖'.split(',')
var arBig2=',拾,佰,仟'.split(',')
var strBig='',a,reg=/(0*$)/
a=numArg.match(reg)
for (i=a[1].length;i<numArg.length;i++){
strBig=arBig1[numArg.substring(numArg.length-i-1,numArg.length-i)*1]+arBig2[(numArg.length-i)%4]+i+strBig
}
return strBig
return strBig
}
var arBig1='零,壹,貳,參,肆,伍,陸,柒,捌,玖'.split(',')
var arBig2=',拾,佰,仟'.split(',')
var strBig='',a,reg=/(0*$)/
a=numArg.match(reg)
for (i=a[1].length;i<numArg.length;i++){
strBig=arBig1[numArg.substring(numArg.length-i-1,numArg.length-i)*1]+arBig2[(numArg.length-i)%4]+i+strBig
}
return strBig
return strBig
}
//范围:0~9999,9999,9999。function Transform($whole) { //分离整数与小数
$num = strtok($whole,".");
$dig = strtok("\0"); //转换整数部分
$i=1;
$len = strlen($num); $dw2 = array("","万","亿");//大单位
$dw1 = array("拾","佰","千");//小单位
$dw = array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");//整数部分用
$dws = array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");//小数部分用
$k0=0;
$k1=0;//计小单位
$k2=0;//计大单位
$str=""; for($i=1;$i<=$len;$i++) {
$n = $num[$len-$i];
if($n=="0") {
$k0++;
if($k1!=0)
$str = substr($str,2);
}else
$k0=0;
if($k0 <= 1)
$str = $dw[$n].$str;//加数字 if($len-$i-1>=0) {//在数字范围内
if($k1!=3) {//加小单位
$str = $dw1[$k1].$str;
$k1++;
}else {//不加小单位,加大单位
$k1=0;
$temp = substr($str,0,2);
if($temp=="万" || $temp=="亿")//若大单位前没有数字则舍去大单位
$str = substr($str,2);
$str = $dw2[$k2].$str;
}
}
if($k1==3) {//小单位到千则大单位进一
$k2++;
}
} //转换小数部分
$strdig="";
for($i=0;$i<strlen($dig);$i++) {
$n = $dig[$i];
$strdig .= $dws[$n];//加数字
}
if(strlen($dig)>0)
$str .= "点".$strdig;
return $str;
}
echo Transform(120045.345);
echo "<br>";
echo Transform(10032);
?>