金额与数字转化

//在引用页面,可以采用document.forms[0].field1.value.trim()引用去空格  
String.prototype.trim = function(){  
    return this.replace(/(^/s*)|(/s*$)/g, "");  
}  


//将1,234,567.00转换为1234567.00  
function moneyToNumFiled(obj) {  
    var num=obj.value.trim();  
    var ss=num.toString();  
    if(ss.length==0){  
      return "";  
    }     
    num=new Number(ss.replace(/,/g, ""));  
    if(!/^(/+|-)?/d+(/.[0-9]{1,2})?$/.test(num)){  
      alert("必须是数字型,切小数位最多保留两位");   
      obj.value="";  
      obj.focus();  
      return ;  
    }  
    obj.value=num;  

}  


//将1,234,567.00转换为1234567.00  
function moneyToNumValue(val) {  
    var num=val.trim();  
    var ss=num.toString();  
    if(ss.length==0){  
      return "0";  
    }     
    return ss.replace(/,/g, "");  

}  

//用于页面控制  
//将1234567.00转换为1,234,567.00  
function numToMoneyField(obj) {  

    var ss=obj.value.toString().trim();  
    if(ss.length==0){  
      return "";  
    }     
    var num=new Number(ss.replace(/,/g, ""));  
    if(!/^(/+|-)?/d+(/.[0-9]{1,2})?$/.test(num)){  

      alert("必须是数字型,切小数位最多保留两位");   
      obj.value="";  
      obj.focus();  
      return;  
    }  

    if(num<0){  
        obj.value = '-'+outputDollars(Math.floor(Math.abs(num)-0) + '') + outputCents(Math.abs(num) - 0);  
    }else{  
        obj.value = outputDollars(Math.floor(num-0) + '') + outputCents(num - 0);  
    }  
}  

//将1234567.00转换为1,234,567.00  
function numToMoneyValue(val) {  

    var ss=val.toString().trim();  
    if(ss.length==0){  
      return "";  
    }     
    var num=new Number(ss.replace(/,/g, ""));  
    if(!/^(/+|-)?/d+(/.[0-9]{1,2})?$/.test(num)){  
      alert("必须是数字型,切小数位最多保留两位");       
      return "";  
    }  

    if(num<0){  
        return '-'+outputDollars(Math.floor(Math.abs(num)-0) + '') + outputCents(Math.abs(num) - 0);  
    }else{  
        return outputDollars(Math.floor(num-0) + '') + outputCents(num - 0);  
    }  
}  

function Chinese(num){   //如输入123.45可得到 壹百贰拾叁元肆角伍分  
    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--){  
        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(re.trim().length>0){  
      re+="元";   
    }  

    if(a.length>1){ //加上小数部分(如果有小数部分)  
        re += BB[6];  
        for(var i=0; i1) break;  
          re += AA[a[1].charAt(i)] + CC[i];  
        }  
    }  

    return re;  
}  
//格式化输入数字,并保留指定位小数  
//amount为原数字,_pow_为需要保留小数位数  
function powAmount(amount,_pow_) {  
     var amount_bak=amount;  
     var base=10;  
     if(isNaN(amount)){  
        alert(amount+'必须为数字');  
        return;  
     }  
     if(isNaN(_pow_)){  
        alert(_pow_+'必须为数字');  
        return;  
     }  
   amount = Math.round( ( amount - Math.floor(amount) ) *Math.pow(base,_pow_));  
   amount=amount<10 ? '.0' + amount : '.' + amount  
   amount=Math.floor(amount_bak)+amount;  
   return amount;  
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值