金额转换成大写

/**

 * 金额转换成大写

 *

 */

function Conversion(iv){

     var ls_bit = "万仟佰拾亿仟佰拾万仟佰拾元角分";

     var ls_num = "壹贰叁肆伍陆柒捌玖";

     var lmax = ls_bit.length;

     var ls_je, ls_dw, ls_result ="";

     var ll_len, i, k;

     iv = iv.toString();

     var vFirstChar=iv.substr(0,1);

     if(vFirstChar=="-"){

         vFirstChar="负";

         iv=iv.substr(1,iv.length -1);

     }else{

         vFirstChar="";

     }

     var vPos=iv.indexOf(".");

     if((vPos>-1) && (iv.length -vPos -1)>2){

         iv=iv.substr(0,vPos+3);

     }else if((vPos>-1) && (iv.length -vPos -1)==1){

         iv=iv+"0";

     }else if((vPos>-1) && (iv.length -vPos -1)==0){

         iv=iv+"00";

     }else if(vPos==-1){

         iv=iv+".00";     

     }

    ls_je=iv;

    ll_len = ls_je.length;        

    ls_je=ls_je.replace(".","")

    ll_len = ls_je.length;

    for(var i=ll_len;i>0;i--){    

        lmax =lmax-1;

        ls_dw =ls_bit.substr(lmax,1);

        k = parseInt(ls_je.substr(i-1,1));                  

        if(k == 0){

           switch(ls_dw){

               case '元':

                    if(ls_result==""){

                        ls_result = ls_dw + ls_result+"整";

                    }else{

                        ls_result = ls_dw + ls_result;

                    }

                   break;

               case '万':

                    ls_result = ls_dw + ls_result;

                 break;

               case '亿':

                  ls_result = ls_dw + ls_result;

                  break;      

               case '分':

                  ls_result = '';

                  break;

               case '角':                                     

                  if (ls_result != '') ls_result = '零' + ls_result;

                 break;

               default:

                   switch(ls_result.substr(0,1)){                            

                        case '万':

                            break;

                        case '亿':

                            break;

                        case '元':

                            break;

                        case '零':

                            break;

                        default:                                                  

                            ls_result = '零' + ls_result;

                  }                                   

           }

       }else{

            if(ls_result=="" && (ls_dw=="元" || ls_dw=='角') ){

                ls_result = ls_num.substr(k-1, 1 ) + ls_dw + ls_result+"整";

            }else{

                ls_result = ls_num.substr(k-1, 1 ) + ls_dw + ls_result;

            }                                            

       }

  }

return vFirstChar+ls_result;
}

 

posted @ 2017-07-07 10:47  小闲石  阅读(146)  评论(0编辑  收藏  举报