数字转换成大写金额

数字转换成大写金额

早此日子,写了个数字转为金额的,今天在电脑上找到的,虽然网上这类代码很多,但毕竟花了些心思,所以在此记上,javascript实现的,代码如下:

< html >
< body >
< form >
 
< input type = " text "  value = " 1034354.245 "  name = " text1 " />
 
< input type = " button "  value = " out "  onclick = " piliskys() " />
</ form >
</ body >
</ html >
< script >
function  piliskys() {
 
var  test1 =  document.all.text1.value;
       
if (isNaN(test1))  {
alert(
" 不是一个有效的数字,请重新输入! " );
}

else  creat();

}


function  creat() {

var  test1 =  document.all.text1.value;
 
var  money1  =   new  Number(test1);
 
if (money1 >   1000000000000000000 {
alert(
" 你输入的数字太大,重新输入! " );
return ;
}

 
var  monee   =  Math.round(money1 * 100 ).toString( 10 )
 
var  i,j; 
    j
= 0 ;
    
    
var  leng  =  monee.length;
 
var  monval = "" ;
 
for ( i = 0 ;i < leng;i ++ )

 
{
 monval
=  monval + to_upper(monee.charAt(i)) + to_mon(leng - i - 1 );
 }

 repace_acc(monval);
         
}

 
function  to_upper( a)
 
{
 
switch (a) {
     
case  ' 0 ' :  return  '零';  break ;
     
case  ' 1 ' :  return  '壹';  break ;
     
case  ' 2 ' :  return  '贰';  break ;
     
case  ' 3 ' :  return  '叁';  break ;
     
case  ' 4 ' :  return  '肆';  break ;
     
case  ' 5 ' :  return  '伍';  break ;
     
case  ' 6 ' :  return  '陆';  break ;
     
case  ' 7 ' :  return  '柒';  break ;
     
case  ' 8 ' :  return  '捌';  break ;
     
case  ' 9 ' :  return  '玖';  break ;
     
default :   return  '' ;
      }

 }

 
function  to_mon(a) {
 
if (a > 10 ) { a = -   8 ;
 
return (to_mon(a));}

 
switch (a) {
     
case   0  :  return  '分';  break ;
     
case   1  :  return  '角';  break ;
     
case   2  :  return  '元';  break ;
     
case   3  :  return  '拾';  break ;
     
case   4  :  return  '佰';  break ;
     
case   5  :  return  '仟';  break ;
     
case   6  :  return  '万';  break ;
     
case   7  :  return  '拾';  break ;
     
case   8  :  return  '佰';  break ;
     
case   9  :  return  '仟';  break ;
     
case   10  :  return  '亿';  break ;
  
         }

 }

    
function  repace_acc(Money) {  
    Money
= Money.replace( " 零分 " , "" );
    Money
= Money.replace( " 零角 " , " " );       
  
var  yy;
  
var   outmoney;
  outmoney
= Money;
  yy
= 0 ;
  
while ( true ) {
  
var  lett =  outmoney.length;
  outmoney
=  outmoney.replace( " 零元 " , " " );                                                                                    
  outmoney
=  outmoney.replace( " 零万 " , " " );                                                                                    
  outmoney
=  outmoney.replace( " 零亿 " , " 亿 " );
  outmoney
=  outmoney.replace( " 零仟 " , " " );    
  outmoney
=  outmoney.replace( " 零佰 " , " " );    
  outmoney
=  outmoney.replace( " 零零 " , " " );
  outmoney
=  outmoney.replace( " 零拾 " , " " );
  outmoney
=  outmoney.replace( " 亿万 " , " 亿零 " );
  outmoney
=  outmoney.replace( " 万仟 " , " 万零 " );
  outmoney
=  outmoney.replace( " 仟佰 " , " 仟零 " );    
  yy
=  outmoney.length;
  
if (yy == lett)  break ;
  
            }

  yy 
=  outmoney.length;
  
if  ( outmoney.charAt(yy - 1 ) == '零') {
  outmoney
= outmoney.substring( 0 ,yy - 1 );
  }

   yy 
=  outmoney.length;
  
if  ( outmoney.charAt(yy - 1 ) == '元') {
  outmoney
= outmoney  + '整';
  }

   alert(outmoney);


    }


</ script >

你可能感兴趣的:(数字转换成大写金额)