JS 数字,金额用逗号隔开
例如:
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, ""));
- }
示例(可保存一下代码为html文件,运行查看效果):
- <SCRIPT>
- 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;
- }
- function rmoney(s) {
- return parseFloat(s.replace(/[^\d\.-]/g, ""));
- }
- function g(id) {
- return document.getElementById(id);
- }
- window.onload = function() {
- var num, txt = g("txt"), txt2 = g("txt2"), btn = g("btn"), btn2 = g("btn2"), span = g("span");
- btn.onclick = function() {
- num = parseInt(g("num").value);
- txt.value = fmoney(txt.value, num);
- txt2.value = fmoney(txt2.value, num);
- };
- btn2.onclick = function() {
- num = parseInt(g("num").value);
- span.innerHTML = "="
- + fmoney(rmoney(txt.value) + rmoney(txt2.value), num);
- };
- };
- </SCRIPT>
- 小数点位数:
- <select id="num">
- <option value="2">2</option>
- <option value="3">3</option>
- <option value="4">4</option>
- <option value="5">5</option>
- </select>
- <input type="text" id="txt" value="12345.675910"> +
- <input type="text" id="txt2" value="1223"> <span id="span"></span>
- <br>
- <input type="button" id="btn" value="格式化">
- <input type="button" id="btn2" value="相加">
附:
- /*
- * 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;
- }
- }
JS 数字,金额用逗号隔开相关推荐
- 输入几个数字,用逗号隔开系列例题
输入n个数字,用逗号分隔 处理过程如下: char str[100]; char ch = '\0'; int i = 0; vector<int> v; int tmp = 0; cin ...
- js 数字,金额 用逗号 隔开。数字格式化
例如: 12345格式化为12,345.00 12345.6格式化为12,345.60 12345.67格式化为 12,345.67 只留两位小数. 回来后写了个格式化函数.可以控制小数位数,自动四舍 ...
- js 数字金额大小写转换成中文大写
function Arabia_to_Chinese(Num) {for(i=Num.length-1;i>=0;i--){Num = Num.replace(",",&qu ...
- js数字金额滚动动画(vue)
vue金额滚动动画 效果预览 QQ20190124-0.gif <template><div><div class="head" @click=&qu ...
- 【数据格式化】数字货币加逗号隔开
不辜负曾经那份热爱 工作中经常遇到数据格式化处理, 例如:12345.89转为12,345.89:-12345.89转为-12,345.89: 避免每次都需要重新测试重新写,在此做一下整理,方便后期查 ...
- JS数字金额转为大写金额
2019独角兽企业重金招聘Python工程师标准>>> /** 数字金额大写转换(可以处理整数,小数,负数) */ function smalltoBIG(n) { var frac ...
- html将字符串按逗号分隔,js如何截取以逗号隔开的字符串
使用string对象的split()方法能够处理.正则表达式 定义: split() 方法用于把一个字符串分割成字符串数组.数组 使用方法以下:cdn stringObject.split(separ ...
- js 数字金额的转换 (转)
/*数字千分符*/ function rendererZhMoney(v) { if(isNaN(v)){ return v; } v = (Math.round((v - 0) * 100)) / ...
- java 逗号分隔数字_java程序 输入n个数字,以逗号隔开,然后升序排列,再重新输出...
展开全部 思路如下:e68a84e8a2ad3231313335323631343130323136353331333337616534 1,录入字符串 2,使用正则表达式分割 3,转换为int数组 ...
最新文章
- 【OFDM】基于simulink的OFDM系统仿真
- gnuplot绘图,使用C语言输出
- Java进阶day03继承
- (9)verilog语言编写SPI接收
- 第六次 Scrum Meeting
- ThinkPHP 3.1.2 控制器的模块和操作
- jquery templates jQuery html模板
- C++嵌入Python,以及两者混用
- PhotoManage
- Scrapy基础(八)————图片下载后将本地路径添加到Item中
- mysql数据库存储过程异常处理
- mpvue 使用wxParse解析html
- indexOf用法小结
- 服务器系统需要装显卡驱动吗,显卡驱动需要更新吗,详细教您显卡驱动需要更新吗...
- POODLE SSLv3 安全漏洞 (CVE-2014-3566)
- linux who 时间,linux命令之who、w、whoami
- html5调用papy支付,Payment
- Python(贪心算法)问题 C: 活动选择_学校在最近几天有n个活动,这些活动都需要使用学校的大礼堂,在同一时间,礼堂只能被一个活动使用。
- 聊聊编程语言学习之路
- 【微信小程序WXS 模块】
热门文章
- 一些sql语句的详细解释
- 苹果向小型企业推出新付费订阅产品“Business Essentials”
- 学而思“变身”乐读后宣布下架,已收家长费用“多退少不补”
- 小米MIX 4支持UWB技术:实现设备间无感定向传输和操控
- iPhone 13 Pro“终极”渲染图曝光:后置镜头模组将有大幅升级
- AI赋能新闻播报 搜狐新闻客户端联合搜狗打造首个明星“数字人”主播
- 8年前估值14.24亿的长城宽带近日被鹏博士“低价”打包出售
- B站获得英雄联盟赛事直播三年独播版权
- 红米Note 8 Pro新配色公布:轻盈一握宛若浮华在手
- 优衣库试衣间又出事了!惊现针孔摄像头 回应:正全力配合警方调查