將數字轉化為中文大寫

Posted on 2006-12-05 11:39  零度海洋  阅读(235)  评论(0)    收藏  举报
  function   Chinese(num)    
  {  
          if(!/^\d*(\.\d*)?$/.test(num)) {
        alert("請輸入數字!"); 
       return   false;
    
    }  
   
          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;  
  }  

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3