同题~~ 求此函数 急用~! 谢谢

解决方案 »

  1.   

    很久以前写的一个函数function moneytormb(money){
            var dw,num,rmb,dwpos,i;
            dw="分角元十百千万十百千亿十百千兆十百千万";
            num="零壹贰叁肆伍陆柒捌玖";
            rmb="";
            money=money.toString();
            dwpos=money.split(".")[0].length+1;
            money=money.replace(/\./,"");
            for(i=0;i<money.length;i++){
                    rmb+=num.substr(money.substr(i,1),1)+dw.substr(dwpos-i,1);
            }
            rmb=rmb.replace(/零[千百十角]/g,"零");
            rmb=rmb.replace(/零零零零[兆亿万元]/g,"");
            rmb=rmb.replace(/零{2,}/g,"零");
            rmb=rmb.replace(/零([兆亿万元])/g,"$1");
            rmb=rmb.replace(/^元/g,"");        
            rmb=rmb.replace(/零分$/g,"");
            rmb=rmb.replace(/元$/g,"元整");
            return rmb;
    }
      

  2.   

    我给例子
    Euro22367.28Say Euro: twenty two thousand three hundred and sixty seven and cents twenty eight only.
      

  3.   

    我写过一个SQL的思路大体应该差不多,http://blog.csdn.net/abandonship/archive/2005/11/21/533881.aspx
      

  4.   

    http://blog.csdn.net/abandonship/archive/2005/11/21/533881.aspx
    已经看过~~ 很有借鉴作用 谢谢
    自己给结果
    function englishmoney(){
    var i;
    var hundreds;
    var tenth;
    var one;
    var thousand;
    var million;
    var billion;
    var numbers;
    var s
    var result;
    var num;
    num=document.all['usd'].value;
    var str;
    str='000000000000000'+num.toString();
    numbers='one       two       three     four      five      '
                  +'six       seven     eight     nine      ten       '
                  +'eleven    twelve    thirteen  fourteen  fifteen   '
                  +'sixteen   seventeen eighteen  nineteen  '
                  +'twenty    thirty    forty     fifty     '
                  +'sixty     seventy   eighty    ninety    ';
    String.prototype.Trim = function(){return this.replace(/^\s+|\s+$/g,"");}
    String.prototype.Ltrim = function(){return this.replace(/^\s+/g, "");}
    String.prototype.Rtrim = function(){return this.replace(/\s+$/g, "");}
    s=str.substring(str.length-15,str.length);
    billion=parseInt(s.substring(0,3)); //将12位整数分成4段:十亿、百万、千、百十个
    million=parseInt(s.substring(3,6));
       thousand=parseInt(s.substring(6,9));
      result='';
      i=0;
      while(i<=3){
      hundreds=parseInt(s.substring(i*3,i*3+1));//百位0-9
         tenth=parseInt(s.substring(i*3+1,i*3+2));
    if(tenth==1){one=10+parseInt(s.substring(i*3+2,i*3+3));}
    else {one=0+parseInt(s.substring(i*3+2,i*3+3));}
        // one=(CASE @tenth WHEN 1 THEN 10 ELSE 0 END)+CAST(SUBSTRING(@s,@i*3+3,1) AS int)--个位0-19
    if(tenth<=1){tenth=0;}    // tenth=(CASE WHEN @tenth<=1 THEN 0 ELSE @tenth END)--十位0、2-9
    if((i==1&&parseInt(billion)>0&&(parseInt(million)>0||parseInt(thousand)>0||parseInt(hundreds)>0))||
    (i==2&&(parseInt(billion)>0||parseInt(million)>0)&&(parseInt(thousand)>0||parseInt(hundreds)>0))||
    (i==3&&(parseInt(billion)>0||parseInt(million)>0||parseInt(thousand)>0)&&(parseInt(hundreds)>0)))
    {result=result+', ';}//--百位不是0则每段之间加连接符,     if(i==3 && (billion>0 || million>0 || thousand>0) && (hundreds==0 && (tenth>0 || one>0)))
           {result=result+' and ';}//--百位是0则加连接符AND     if(hundreds>0)
           {result=result+numbers.substring(hundreds*10-10,hundreds*10).Rtrim()+' hundred';}

        if(tenth>=2 && tenth<=9)
        {
           if(hundreds>0)
             {result=result+' and ';}
             result=result+numbers.substring(tenth*10+170,tenth*10+180).Rtrim();
         }     if(one>=1 && one<=19)
        {
           if(tenth>0)
             {result=result+'-';}
           else
             {
     if(hundreds>0){result=result+' and ';}
    }
     result=result+numbers.substring(one*10-10,one*10).Rtrim();
         }    
    //alert(result);
    // i=i+1;
    // } 
        if(i==0 && parseInt(billion)>0){
           result=result+' billion';}
         if(i==1 && parseInt(million)>0){
           result=result+' million';}
         if(i==2 && parseInt(thousand)>0){
           result=result+' thousand';}
         i=i+1;
     } 
      if(s.substring(13,15)!='00'){
        result=result+' point ';
        if(s.substring(13,14)=='0'){
          result=result+'zero';}
        else
          {result=result+numbers.substring(parseInt(s.substring(13,14))*10-10,parseInt(s.substring(13,14))*10).Rtrim();}
        if(s.substring(14,15)!='0'){
          result=result+' '+numbers.substring(parseInt(s.substring(14,15))*10-10,parseInt(s.substring(14,15))*10).Rtrim();}
      }
     document.all['dollars'].innerText=result;
    }