js金额格式化
来源:互联网 发布:区域软件 编辑:程序博客网 时间:2024/04/30 02:38
/** * 将数值四舍五入(保留2位小数)后格式化成金额形式 * * @param num 数值(Number或者String) * @return 金额格式的字符串,如'1,234,567.45' * @type String */ function formatCurrency(num) { num = num.toString().replace(/\$|\,/g,''); if(isNaN(num)) num = "0"; sign = (num == (num = Math.abs(num))); num = Math.floor(num*100+0.50000000001); cents = num%100; num = Math.floor(num/100).toString(); if(cents<10) cents = "0" + cents; for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3)); return (((sign)?'':'-') + num + '.' + cents); } /** * 将数值四舍五入(保留1位小数)后格式化成金额形式 * * @param num 数值(Number或者String) * @return 金额格式的字符串,如'1,234,567.4' * @type String */ function formatCurrencyTenThou(num) { num = num.toString().replace(/\$|\,/g,''); if(isNaN(num)) num = "0"; sign = (num == (num = Math.abs(num))); num = Math.floor(num*10+0.50000000001); cents = num%10; num = Math.floor(num/10).toString(); for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3)); return (((sign)?'':'-') + num + '.' + cents); } // 添加金额格式化 jQuery.extend({ formatFloat:function(src, pos){ var num = parseFloat(src).toFixed(pos); num = num.toString().replace(/\$|\,/g,''); if(isNaN(num)) num = "0"; sign = (num == (num = Math.abs(num))); num = Math.floor(num*100+0.50000000001); cents = num%100; num = Math.floor(num/100).toString(); if(cents<10) cents = "0" + cents; for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) num = num.substring(0,num.length-(4*i+3))+','+num.substring(num.length-(4*i+3)); return (((sign)?'':'-') + num + '.' + cents); } }); /** *JS 数字,金额 用逗号 隔开(数字格式化) *格式化html js function *例如: *12345格式化为12,345.00 *12345.6格式化为12,345.60 *12345.67格式化为 12,345.67 *只留两位小数。 *回来后写了个格式化函数。可以控制小数位数,自动四舍五入。 代码如下: */ function fmoney(s, n) { n = n > 0 && n <= 20 ? n : 2; s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + ""; var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1]; t = ""; for (i = 0; i < l.length; i++) { t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : ""); } return t.split("").reverse().join("") + "." + r; } 调用:fmoney("12345.675910", 3),返回12,345.676 //还原函数: function rmoney(s) { return parseFloat(s.replace(/[^\d\.-]/g, "")); } /* * formatMoney(s,type) * 功能:金额按千位逗号分割 * 参数:s,需要格式化的金额数值. * 参数:type,判断格式化后的金额是否需要小数位. * 返回:返回格式化后的数值字符串. */ function formatMoney(s, type) { if (/[^0-9\.]/.test(s)) return "0"; if (s == null || s == "") return "0"; s = s.toString().replace(/^(\d*)$/, "$1."); s = (s + "00").replace(/(\d*\.\d\d)\d*/, "$1"); s = s.replace(".", ","); var re = /(\d)(\d{3},)/; while (re.test(s)) s = s.replace(re, "$1,$2"); s = s.replace(/,(\d\d)$/, ".$1"); if (type == 0) {// 不带小数位(默认是有小数位) var a = s.split("."); if (a[1] == "00") { s = a[0]; } } return s; } /* * 通用DateAdd(interval,number,date) 功能:实现javascript的日期相加功能. * 参数:interval,字符串表达式,表示要添加的时间间隔. 参数:number,数值表达式,表示要添加的时间间隔的个数. 参数:date,时间对象. * 返回:新的时间对象. var now = new Date(); var newDate = DateAdd("day",5,now); * author:devinhua(从○开始) update:2010-5-5 20:35 */ function DateAdd(interval, number, date) { if (date == null) return ""; switch (interval) { case "day": date = new Date(date); date = date.valueOf(); date += number * 24 * 60 * 60 * 1000; date = new Date(date); return date; break; default: return ""; break; } }
/** *禁用文本框粘贴 */script type="text/javascript">//not IE is requiredfunction fncKeyStop(evt){ if(!window.event){ var keycode = evt.keyCode; var key = String.fromCharCode(keycode).toLowerCase(); if(evt.ctrlKey && key == "v"){ evt.preventDefault(); evt.stopPropagation(); } }}</script><input type="text" onkeydown="fncKeyStop(event)" onpaste="return false" oncontextmenu = "return false;" />
0 0
- 用js格式化金额
- js金额格式化
- 用js格式化金额
- js金额格式化
- js格式化金额
- js 金额格式化
- JS 金额格式化。
- JS 格式化金额
- js格式化日期、金额
- js格式化金额
- js 格式化金额
- js金额格式化
- js金额格式化
- js 格式化金额
- js金额自动格式化
- JS 货币金额格式化
- JS 实现金额格式化
- JS 实现金额格式化
- centos 安装apache2.4
- (4.6.17.5)进程保活(三:5.0以下):native保活5.0以下方案推演过程以及代码详述
- AsyncTask 第一篇使用篇
- ORACLE SELECT INTO防止没结果时报错
- 求两个数的最大公约数
- js金额格式化
- tjut 4972
- Xpath : 使用部分属性值模糊匹配来定位页面元素
- 禀父母·谨守父亲保身之则
- 软件性能测试理论手札(二)
- vbox安装ubuntu 16.04时出现"busybox-initramfs"
- (三)使用swftools将pdf转换为swf
- Spring学习笔记(一)----IoC之DI
- UVA 10655 Contemplation! Algebra