例如: 
12345格式化为12,345.00 
12345.6格式化为12,345.60 
12345.67格式化为 12,345.67 
只留两位小数。 
回来后写了个格式化函数。可以控制小数位数,自动四舍五入。 代码如下:

[javascript] view plaincopy
  1. function fmoney(s, n) {
  2. n = n > 0 && n <= 20 ? n : 2;
  3. s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
  4. var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1];
  5. t = "";
  6. for (i = 0; i < l.length; i++) {
  7. t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
  8. }
  9. return t.split("").reverse().join("") + "." + r;
  10. }

调用:fmoney("12345.675910", 3),返回12,345.676 
还原函数:

[javascript] view plaincopy
  1. function rmoney(s) {
  2. return parseFloat(s.replace(/[^\d\.-]/g, ""));
  3. }

示例(可保存一下代码为html文件,运行查看效果):

[html] view plaincopy
  1. <SCRIPT>
  2. function fmoney(s, n) {
  3. n = n > 0 && n <= 20 ? n : 2;
  4. s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
  5. var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1];
  6. t = "";
  7. for (i = 0; i < l.length; i++) {
  8. t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
  9. }
  10. return t.split("").reverse().join("") + "." + r;
  11. }
  12. function rmoney(s) {
  13. return parseFloat(s.replace(/[^\d\.-]/g, ""));
  14. }
  15. function g(id) {
  16. return document.getElementById(id);
  17. }
  18. window.onload = function() {
  19. var num, txt = g("txt"), txt2 = g("txt2"), btn = g("btn"), btn2 = g("btn2"), span = g("span");
  20. btn.onclick = function() {
  21. num = parseInt(g("num").value);
  22. txt.value = fmoney(txt.value, num);
  23. txt2.value = fmoney(txt2.value, num);
  24. };
  25. btn2.onclick = function() {
  26. num = parseInt(g("num").value);
  27. span.innerHTML = "="
  28. + fmoney(rmoney(txt.value) + rmoney(txt2.value), num);
  29. };
  30. };
  31. </SCRIPT>
  32. 小数点位数:
  33. <select id="num">
  34. <option value="2">2</option>
  35. <option value="3">3</option>
  36. <option value="4">4</option>
  37. <option value="5">5</option>
  38. </select>
  39. <input type="text" id="txt" value="12345.675910"> +
  40. <input type="text" id="txt2" value="1223"> <span id="span"></span>
  41. <br>
  42. <input type="button" id="btn" value="格式化">
  43. <input type="button" id="btn2" value="相加">

附:

[javascript] view plaincopy
  1. /*
  2. * formatMoney(s,type)
  3. * 功能:金额按千位逗号分割
  4. * 参数:s,需要格式化的金额数值.
  5. * 参数:type,判断格式化后的金额是否需要小数位.
  6. * 返回:返回格式化后的数值字符串.
  7. */
  8. function formatMoney(s, type) {
  9. if (/[^0-9\.]/.test(s))
  10. return "0";
  11. if (s == null || s == "")
  12. return "0";
  13. s = s.toString().replace(/^(\d*)$/, "$1.");
  14. s = (s + "00").replace(/(\d*\.\d\d)\d*/, "$1");
  15. s = s.replace(".", ",");
  16. var re = /(\d)(\d{3},)/;
  17. while (re.test(s))
  18. s = s.replace(re, "$1,$2");
  19. s = s.replace(/,(\d\d)$/, ".$1");
  20. if (type == 0) {// 不带小数位(默认是有小数位)
  21. var a = s.split(".");
  22. if (a[1] == "00") {
  23. s = a[0];
  24. }
  25. }
  26. return s;
  27. }
  28. /*
  29. * 通用DateAdd(interval,number,date) 功能:实现javascript的日期相加功能.
  30. * 参数:interval,字符串表达式,表示要添加的时间间隔. 参数:number,数值表达式,表示要添加的时间间隔的个数. 参数:date,时间对象.
  31. * 返回:新的时间对象. var now = new Date(); var newDate = DateAdd("day",5,now);
  32. * author:devinhua(从○开始) update:2010-5-5 20:35
  33. */
  34. function DateAdd(interval, number, date) {
  35. if (date == null)
  36. return "";
  37. switch (interval) {
  38. case "day":
  39. date = new Date(date);
  40. date = date.valueOf();
  41. date += number * 24 * 60 * 60 * 1000;
  42. date = new Date(date);
  43. return date;
  44. break;
  45. default:
  46. return "";
  47. break;
  48. }
  49. }

JS 数字,金额用逗号隔开相关推荐

  1. 输入几个数字,用逗号隔开系列例题

    输入n个数字,用逗号分隔 处理过程如下: char str[100]; char ch = '\0'; int i = 0; vector<int> v; int tmp = 0; cin ...

  2. js 数字,金额 用逗号 隔开。数字格式化

    例如: 12345格式化为12,345.00 12345.6格式化为12,345.60 12345.67格式化为 12,345.67 只留两位小数. 回来后写了个格式化函数.可以控制小数位数,自动四舍 ...

  3. js 数字金额大小写转换成中文大写

    function Arabia_to_Chinese(Num) {for(i=Num.length-1;i>=0;i--){Num = Num.replace(",",&qu ...

  4. js数字金额滚动动画(vue)

    vue金额滚动动画 效果预览 QQ20190124-0.gif <template><div><div class="head" @click=&qu ...

  5. 【数据格式化】数字货币加逗号隔开

    不辜负曾经那份热爱 工作中经常遇到数据格式化处理, 例如:12345.89转为12,345.89:-12345.89转为-12,345.89: 避免每次都需要重新测试重新写,在此做一下整理,方便后期查 ...

  6. JS数字金额转为大写金额

    2019独角兽企业重金招聘Python工程师标准>>> /** 数字金额大写转换(可以处理整数,小数,负数) */ function smalltoBIG(n) { var frac ...

  7. html将字符串按逗号分隔,js如何截取以逗号隔开的字符串

    使用string对象的split()方法能够处理.正则表达式 定义: split() 方法用于把一个字符串分割成字符串数组.数组 使用方法以下:cdn stringObject.split(separ ...

  8. js 数字金额的转换 (转)

    /*数字千分符*/ function rendererZhMoney(v) { if(isNaN(v)){ return v; } v = (Math.round((v - 0) * 100)) /  ...

  9. java 逗号分隔数字_java程序 输入n个数字,以逗号隔开,然后升序排列,再重新输出...

    展开全部 思路如下:e68a84e8a2ad3231313335323631343130323136353331333337616534 1,录入字符串 2,使用正则表达式分割 3,转换为int数组 ...

最新文章

  1. 【OFDM】基于simulink的OFDM系统仿真
  2. gnuplot绘图,使用C语言输出
  3. Java进阶day03继承
  4. (9)verilog语言编写SPI接收
  5. 第六次 Scrum Meeting
  6. ThinkPHP 3.1.2 控制器的模块和操作
  7. jquery templates jQuery html模板
  8. C++嵌入Python,以及两者混用
  9. PhotoManage
  10. Scrapy基础(八)————图片下载后将本地路径添加到Item中
  11. mysql数据库存储过程异常处理
  12. mpvue 使用wxParse解析html
  13. indexOf用法小结
  14. 服务器系统需要装显卡驱动吗,显卡驱动需要更新吗,详细教您显卡驱动需要更新吗...
  15. POODLE SSLv3 安全漏洞 (CVE-2014-3566)
  16. linux who 时间,linux命令之who、w、whoami
  17. html5调用papy支付,Payment
  18. Python(贪心算法)问题 C: 活动选择_学校在最近几天有n个活动,这些活动都需要使用学校的大礼堂,在同一时间,礼堂只能被一个活动使用。
  19. 聊聊编程语言学习之路
  20. 【微信小程序WXS 模块】

热门文章

  1. 一些sql语句的详细解释
  2. 苹果向小型企业推出新付费订阅产品“Business Essentials”
  3. 学而思“变身”乐读后宣布下架,已收家长费用“多退少不补”
  4. 小米MIX 4支持UWB技术:实现设备间无感定向传输和操控
  5. iPhone 13 Pro“终极”渲染图曝光:后置镜头模组将有大幅升级
  6. AI赋能新闻播报 搜狐新闻客户端联合搜狗打造首个明星“数字人”主播
  7. 8年前估值14.24亿的长城宽带近日被鹏博士“低价”打包出售
  8. B站获得英雄联盟赛事直播三年独播版权
  9. 红米Note 8 Pro新配色公布:轻盈一握宛若浮华在手
  10. 优衣库试衣间又出事了!惊现针孔摄像头 回应:正全力配合警方调查