var a=new String("壹","二",....
var c=new String("元","百","任"....
var d=new String("角","分");
如果一个数b在点的右边 e 位,把这个数b变为 a[b]并在其后加 d[e]
如果一个数b在点的左边 e 位,把这个数b变为 a[b]并在其后加 c[e]

解决方案 »

  1.   

    试试这个可以不? 以前拷的代码
    function Chinese(num)  //
    {
        if(!/^\d*(\.\d*)?$/.test(num)){alert("Number is wrong!"); return "Number is wrong!";}    var AA = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");
        var BB = new Array("圆","拾","佰","仟","萬","億","点","");
        
        var a = (""+ num).replace(/(^0*)/g, "").split("."), k = 0, re = "";    for(var i=a[0].length-1; i>=0; i--)
        {
            switch(k)
            {
                case 0 : re = BB[7] + re; break;
                case 4 : if(!new RegExp("0{4}\\d{"+ (a[0].length-i-1) +"}$").test(a[0]))
                         re = BB[4] + re; break;
                case 8 : re = BB[5] + re; BB[7] = BB[5]; k = 0; break;
            }
            if(k%4 == 2 && a[0].charAt(i+2) != 0 && a[0].charAt(i+1) == 0) re = AA[0] + re;
            if(a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k%4] + re; k++;
        }    if(a.length>1) //加上小数部分(如果有小数部分)
        {
            re += BB[6];
            for(var i=0; i<a[1].length; i++) re += AA[a[1].charAt(i)];
        }
        return re;
    }
      

  2.   

    kisslan(郁忧的曼陀萝)我试了试你的函数,好像不行呀,它老报错说缺少对象