一个人民币小写转大写的js例子[如123.1对应为壹佰贰拾叁元壹角]

<script language="javaScript">
   
function convert(str){
       
if(str==""){
            alert(
"请输入金额!");form1.money.focus();return;
        }
       
if(isNaN(str)){
            alert(
"您输入的金额不合法!");return;
        }
       
if(str>999999999999){
            alert(
"您输入的金额不能大于999999999999!");return;
        }
       
//将小数点后保留两位小数
        /*
        if(str.indexOf(".")>0){
            var decimal=str.length-str.indexOf(".")-1;
            if(decimal>2){
                str=str.substr(0,str.length+2-decimal);
            }
        }
*/
        value
=change(str); //调用自定义函数转换
        form1.moneyok.value=value;  //将转换后的值赋给"转换后的大写金额"文本框
    }
   
function change(str){
        je
="零壹贰叁肆伍陆柒捌玖";
        cdw
="万仟佰拾亿仟佰拾万仟佰拾元角分";
       
var newstring=(parseInt(str*100)).toString();
        newstringlog
=newstring.length;
        newdw
=cdw.substr(cdw.length-newstringlog);
        num0
=0;     //记录零的个数
        wan=0;     //记录万位出现的次数
        dxje="";     //记录大写金额
        for(m=1;m<newstringlog+1;m++){
            xzf
=newstring.substr(m-1,1);       //取得该位数
            dzf=je.substr(xzf,1);        //结果(大写的零-玖)
            dw=newdw.substr(m-1,1);        //位大写
            if(dzf==""){
                dzf
="";
               
if(dw=="亿"){
                }
else if(dw==""){
                    dzf
="";
                    wan
=1;
                }
else if(dw==""){

                }
else{
                    dw
="";    //记录单位       
                }
                num0
=num0+1;
            }
else{
               
if(num0-wan>0){
                   
if(dw!=""){
                        dzf
=""+dzf;
                    }
                }
                num0
=0;
            }
            dxje
=dxje+dzf+dw;
        }
       
if(newstring.length!=1){
           
if(newstring.substr(newstring.length-2)=="00"){
                dxje
=dxje+"";
            }
else{
                dxje
=dxje;
            }
        }
       
return dxje;
    }
   
</script>

注:摘自CSDN,自己未测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值