function test(low) {
var a = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","久");
var b = new Array("元","拾","百","千","万");
var c = new Array("角", "分");
high = "";
var s = low.split(".");
for(var i=0;i<s[0].length;i++) {
high += a[s[0].charAt(i)] + b[s[0].length-1-i];
}
if(s[1].length>0) {
var l = s[1].length>2 ? 2: s[1].length;
for(var j=0;j<l;j++) {
high += a[s[0].charAt(j)] + c[j];
}
}

return high;

}/****/
var t = test('123.45');
alert(t);

解决方案 »

  1.   

    <script>
    function DX(n) {
        var strOutput = "";
        var strUnit = '千百拾亿千百拾万千百拾元角分';
        n += "00";
        var intPos = n.indexOf('.');
        if (intPos >= 0)
            n = n.substring(0, intPos) + n.substr(intPos + 1, 2);
        strUnit = strUnit.substr(strUnit.length - n.length);
        for (var i=0; i < n.length; i++)
            strOutput += '零壹贰叁肆伍陆柒捌玖'.substr(n.substr(i,1),1) + strUnit.substr(i,1);
        return strOutput;
    }
    alert(DX(1056002304.03));
    </script>
      

  2.   

    easyreal(阿道)的代码 test('1000200003.45'):
    壹undefined零undefined零undefined零undefined贰undefined零万零千零百零拾叁元壹角零分
    出错!!gjd111686(数字金刚) 的代码 DX("1000200003.456789"):
    壹拾零亿零千零百贰拾零万零千零百零拾叁元肆角伍分
        -   -------     -   ------------
    多出很多没有必要的东西 
      

  3.   

    function Chinese(num)
    {
        if(!/^\d*(\.\d*)?$/.test(num)){alert("Number is wrong!"); return false;}    var AA = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");
        var BB = new Array("元","拾","佰","仟","萬","億","","");
        var CC = 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++)
            {
              if(i>2) break;
              re += AA[a[1].charAt(i)] + CC[i];
            }
        }
        return re;
    }
    alert(Chinese("1000200003.456789"))
      

  4.   

    梅花雪,那个算是这里最好的了,,,不过,也是有bug的你试计计  1010001.01