将阿拉伯数字翻译成中文的大写数字

<html>
<script language="javascript">
function Chinese(num)  //将阿拉伯数字翻译成中文的大写数字
{
    
if(!/^\d*(\.\d*)?$/.test(num)) throw(new Error(-1"Number is wrong!"));

    
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--)  //author: meizz
    {
        
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 = 0break;
        }

        
if(k%4 == 2 && a[0].charAt(i)=="0" && a[0].charAt(i+2!= "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)] + CC[i];
          
if(i==2break;
        }

    }

   
// return re;
b.value= re ;
}


</script>
<input id=a onblur="Chinese(this.value)" onkeyup="Chinese(this.value)">
<input id=b>
</html>
posted on 2006-04-10 13:52  冷月孤峰  阅读(2738)  评论(3)    收藏  举报