博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
金额与数字转化常用实用几个JS方法
阅读量:6637 次
发布时间:2019-06-25

本文共 3191 字,大约阅读时间需要 10 分钟。

 财务系统中常用到金额与数字转化的处理,这里包括以下几个方法:1、去空格2、页面控件的金额与数字之间的转换3、一般金额与数字之间的转换4、将数字金额转化为汉字金额。

//在引用页面,可以采用document.forms[0].field1.value.trim()引用去空格String.prototype.trim = function(){    return this.replace(/(^/s*)|(/s*$)/g, "");}//将1,234,567.00转换为1234567.00function 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.00function 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.00function 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.00function 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;}
 
 

本文出自:

 

 

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!

转载于:https://www.cnblogs.com/skiwdhwhssh/p/10341574.html

你可能感兴趣的文章
计算机系统概论
查看>>
使用nginx很卡之strace命令
查看>>
第一冲刺阶段站立会议07
查看>>
python-匿名函数
查看>>
x5首页显示信息
查看>>
Redis入门(一)系统安装
查看>>
快速更新package.json文件
查看>>
Windows Azure 微软公有云体验(三) IIS中文编码解决方案
查看>>
神剧制作《黑镜》第四季基本剧情,良心制作
查看>>
poj2182 Lost Cows (线段树)
查看>>
Hadoop从2.2.0到2.7
查看>>
利用maven将jar包添加到本地仓库中
查看>>
Python基本数据类型(字典)
查看>>
The next day to learn English
查看>>
VS2017编译Qt x64
查看>>
Android中检测网络连接状况的方法
查看>>
可扩展标记语言XML
查看>>
github使用及代码同步
查看>>
adblock广告过滤
查看>>
Css gray 无法覆盖IE10
查看>>