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 相关文章推荐
JavaScript 实现类的多种方法实例
May 01 Javascript
js判断undefined变量类型使用typeof
Jun 03 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
Dec 27 Javascript
Vue.js系列之项目搭建(1)
Jan 03 Javascript
使用Javascript判断浏览器终端设备(PC、IOS(iphone)、Android)
Jan 04 Javascript
javascript基础知识之html5轮播图实例讲解(44)
Feb 17 Javascript
vue小图标favicon不显示的解决方案
Sep 19 Javascript
JS中call和apply函数用法实例分析
Jun 20 Javascript
微信小程序时间选择插件使用详解
Dec 28 Javascript
ES6 Array常用扩展的应用实例分析
Jun 26 Javascript
微信小程序iBeacon测距及稳定程序的实现解析
Jul 31 Javascript
详解Typescript里的This的使用方法
Jan 08 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
thinkphp实现like模糊查询实例
2014/10/29 PHP
理解Javascript_09_Function与Object
2010/10/16 Javascript
深入理解JavaScript系列(14) 作用域链介绍(Scope Chain)
2012/04/12 Javascript
jquery对table中各数据的增加、保存、删除操作示例
2014/05/14 Javascript
js,jquery滚动/跳转页面到指定位置的实现思路
2014/06/03 Javascript
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
javascript实现俄罗斯方块游戏的思路和方法
2015/04/27 Javascript
微信小程序 网络API发起请求详解
2016/11/09 Javascript
jquery 删除节点 添加节点 找兄弟节点的简单实现
2016/12/07 Javascript
jQuery图片缩放插件smartZoom使用实例详解
2017/08/25 jQuery
在vue中v-bind使用三目运算符绑定class的实例
2018/09/29 Javascript
Vue 无限滚动加载指令实现方法
2019/05/28 Javascript
layui 中select下拉change事件失效的解决方法
2019/09/20 Javascript
微信小程序如何播放腾讯视频的实现
2019/09/20 Javascript
简单使用webpack打包文件的实现
2019/10/29 Javascript
JavaScript中的相等操作符使用详解
2019/12/21 Javascript
js实现消灭星星(web简易版)
2020/03/24 Javascript
JavaScript中的this妙用实例分析
2020/05/09 Javascript
[28:42]Ti4正赛VG vs NEWBEE1
2014/07/19 DOTA
[03:01]完美盛典趣味短片 DOTA2年度最佳&拉胯英雄
2019/12/07 DOTA
跟老齐学Python之折腾一下目录
2014/10/24 Python
python安装以及IDE的配置教程
2015/04/29 Python
Python简单删除目录下文件以及文件夹的方法
2015/05/27 Python
python远程连接MySQL数据库
2019/04/19 Python
Python3内置模块pprint让打印比print更美观详解
2019/06/02 Python
Pycharm+django2.2+python3.6+MySQL实现简单的考试报名系统
2019/09/05 Python
如何基于python操作excel并获取内容
2019/12/24 Python
解决tensorflow添加ptb库的问题
2020/02/10 Python
Python Tkinter Entry和Text的添加与使用详解
2020/03/04 Python
Python分类测试代码实例汇总
2020/07/23 Python
纽约现代艺术博物馆商店:MoMA STORE(室内家具和杂货商品)
2016/08/02 全球购物
军训学生自我鉴定
2014/02/12 职场文书
临时用工协议书范本
2014/10/29 职场文书
2014群众路线学习笔记
2014/11/06 职场文书
委托公证书样本
2015/01/23 职场文书
有关保护环境的宣传标语100条
2019/08/07 职场文书