我也帖一个函数,也是转载;
这个也有点问题,30万的时候,就会变成30元,希望高手看看哪错误?
function Chinese(num)
{
var arr1=new Array("仟","佰","拾","亿","仟","佰","拾","万","仟","佰","拾","元","点","角","分");
var arr3=new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");
var point=num.indexOf(".");
if(point<0)point=num.length;
var len=arr1.length-point-3;
var strRet="",flag=true;
for(i=0;i<num.length;i++)
{
if(i!=point)
{
val=arr1[i+len];
if(num.charAt(i)!="0")
{
     strRet+=arr3[num.charAt(i)]+val;flag=true;
}
else

if(val=="亿"||val=="万"||val=="元"||val=="分")
{
if(!flag){strRet=strRet.substr(0,strRet.length-1)+val;flag=true;}
}
else
{
if(flag){flag=false;strRet+="零";}
}

}
}
return strRet.replace("零零零","").replace("零零","零");
}