js实现的格式化数字和金额功能简单示例


Posted in Javascript onJuly 30, 2019

本文实例讲述了js实现的格式化数字和金额功能。分享给大家供大家参考,具体如下:

格式化数字,格式化金额:

function number_format(number, decimals, dec_point, thousands_sep) {
  /*
  * 参数说明:
  * number:要格式化的数字
  * decimals:保留几位小数
  * dec_point:小数点符号
  * thousands_sep:千分位符号
  * */
  number = (number + '').replace(/[^0-9+-Ee.]/g, '');
  var n = !isFinite(+number) ? 0 : +number,
    prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
    sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
    dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
    s = '',
    toFixedFix = function (n, prec) {
      var k = Math.pow(10, prec);
      return '' + Math.ceil(n * k) / k;
    };
  s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
  var re = /(-?\d+)(\d{3})/;
  while (re.test(s[0])) {
    s[0] = s[0].replace(re, "$1" + sep + "$2");
  }
  if ((s[1] || '').length < prec) {
    s[1] = s[1] || '';
    s[1] += new Array(prec - s[1].length + 1).join('0');
  }
  return s.join(dec);
}

如何使用:

var num=number_format(1234567.089, 2, ".", ",");//1,234,567.09
console.log(num);

再来一个,直接舍去的办法:

function number_format(number, decimals, dec_point, thousands_sep) {
    /*
    * 参数说明:
    * number:要格式化的数字
    * decimals:保留几位小数
    * dec_point:小数点符号
    * thousands_sep:千分位符号
    * */
    number = (number + '').replace(/[^0-9+-Ee.]/g, '');
    var n = !isFinite(+number) ? 0 : +number,
      prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
      sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
      dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
      s = '',
      toFixedFix = function (n, prec) {
        var k = Math.pow(10, prec);
        return '' + Math.floor(n * k) / k;
      };
    s = (prec ? toFixedFix(n, prec) : '' + Math.floor(n)).split('.');
    var re = /(-?\d+)(\d{3})/;
    console.log(s)
    while (re.test(s[0])) {
      s[0] = s[0].replace(re, "$1" + sep + "$2");
    }
    if ((s[1] || '').length < prec) {
      s[1] = s[1] || '';
      s[1] += new Array(prec - s[1].length + 1).join('0');
    }
    return s.join(dec);
}
var num=number_format(1234567.089, 2, ".", ",");//1,234,567.08
console.log(num)

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具http://tools.3water.com/code/HtmlJsRun测试上述代码运行结果。

PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:

在线一元函数(方程)求解计算工具:
http://tools.3water.com/jisuanqi/equ_jisuanqi

科学计算器在线使用_高级计算器在线计算:
http://tools.3water.com/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.3water.com/jisuanqi/jsq

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
js在数组中删除重复的元素自保留一个(两种实现思路)
Aug 22 Javascript
加载列表时jquery获取ul中第一个li的属性
Nov 02 Javascript
js实现跨域访问的三种方法
Dec 09 Javascript
SpringMVC返回json数据的三种方式
Dec 10 Javascript
功能强大的Bootstrap效果展示(二)
Aug 03 Javascript
详细总结Javascript中的焦点管理
Sep 17 Javascript
浅谈JavaScript中promise的使用
Jan 11 Javascript
利用js判断手机是否安装某个app的多种方案
Feb 13 Javascript
jQuery实现Table表格隔行变色及高亮显示当前选择行效果示例
Feb 14 Javascript
原生JS实现N级菜单的代码
May 21 Javascript
jQuery实现的简单获取索引功能示例
Jun 04 jQuery
es6数组之扩展运算符操作实例分析
Apr 25 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
Jul 30 #Javascript
微信小程序渲染性能调优小结
Jul 30 #Javascript
vue通过video.js解决m3u8视频播放格式的方法
Jul 30 #Javascript
微信小程序用户授权弹窗 拒绝时引导用户重新授权实现
Jul 29 #Javascript
vue使用混入定义全局变量、函数、筛选器的实例代码
Jul 29 #Javascript
vue前后分离调起微信支付
Jul 29 #Javascript
详解vue-property-decorator使用手册
Jul 29 #Javascript
You might like
php strcmp使用说明
2010/04/22 PHP
解析PHP获取当前网址及域名的实现代码
2013/06/23 PHP
推荐一本PHP程序猿都应该拜读的书
2014/12/31 PHP
php简单统计在线人数的方法
2016/05/10 PHP
PHP+redis实现微博的拉模型案例详解
2019/07/10 PHP
JS 控制小数位数的实现代码
2011/08/02 Javascript
javascript简易缓动插件(源码打包)
2012/02/16 Javascript
js hover 定时器(实例代码)
2013/11/12 Javascript
jquery实现简单的无缝滚动
2015/04/15 Javascript
javascript实现很浪漫的气泡冒出特效
2020/09/05 Javascript
js和C# 时间日期格式转换的简单实例
2016/05/28 Javascript
Jquery调用iframe父页面中的元素及方法
2016/08/23 Javascript
如何使用Vuex+Vue.js构建单页应用
2016/10/27 Javascript
C#微信小程序服务端获取用户解密信息实例代码
2017/03/10 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
2017/05/11 Javascript
在Vue项目中引入腾讯验证码服务的教程
2018/04/03 Javascript
JavaScript实现选项卡效果的分析及步骤
2019/04/16 Javascript
微信小程序日历弹窗选择器代码实例
2019/05/09 Javascript
jQuery实现轮播图源码
2019/10/23 jQuery
p5.js临摹动态图形实现方法详解
2019/10/23 Javascript
Python3实现带附件的定时发送邮件功能
2020/12/22 Python
Python实现的逻辑回归算法示例【附测试csv文件下载】
2018/12/28 Python
学会迭代器设计模式,帮你大幅提升python性能
2021/01/03 Python
python中的unittest框架实例详解
2021/02/05 Python
css3 中的新特性加强记忆详解
2016/04/16 HTML / CSS
浅析CSS3中鲜为人知的属性:-webkit-tap-highlight-color
2017/01/12 HTML / CSS
意大利简约的休闲品牌:Aspesi
2018/02/08 全球购物
物业经理求职自我评价
2013/09/22 职场文书
大学生毕业自我鉴定范文
2013/11/03 职场文书
医药销售求职信范文
2014/02/01 职场文书
青年文明号复核材料
2014/02/11 职场文书
出纳试用期自我鉴定
2014/04/07 职场文书
学生自我评语大全
2014/04/18 职场文书
公务员政审材料范文
2014/12/23 职场文书
vue3使用vue-router的完整步骤记录
2021/06/20 Vue.js
聊聊Python String型列表求最值的问题
2022/01/18 Python