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 相关文章推荐
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
May 21 Javascript
JavaScript开发人员的10个关键习惯小结
Dec 05 Javascript
jQuery中last()方法用法实例
Jan 06 Javascript
javascript实现汉字转拼音代码分享
Apr 20 Javascript
jquery的checkbox,radio,select等方法小结
Aug 30 Javascript
浅谈JS之iframe中的窗口
Sep 13 Javascript
node操作mysql数据库实例详解
Mar 17 Javascript
浅谈Redux中间件的实践
Jul 27 Javascript
JS面试题大坑之隐式类型转换实例代码
Oct 14 Javascript
Javascript之高级数组API的使用实例
Mar 08 Javascript
vue 出现data-v-xxx的原因及解决
Aug 04 Javascript
vue组件冲突之引用另一个组件出现组件不显示的问题
Apr 13 Vue.js
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 checkbox复选框值的获取与checkbox默认值输出方法
2010/05/15 PHP
对google个性主页的拖拽效果的js的完整注释[转]
2007/04/10 Javascript
Document对象内容集合(比较全)
2010/09/06 Javascript
jQuery中创建实例与原型继承揭秘
2011/12/21 Javascript
js实现checkbox全选和反选示例
2014/05/01 Javascript
jQuery表单域属性过滤器用法分析
2015/02/10 Javascript
JS实现简易图片轮播效果的方法
2015/03/25 Javascript
jQuery实现返回顶部效果的方法
2015/05/29 Javascript
浅谈JavaScript中的对象及Promise对象的实现
2015/11/15 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之主动触发事件和模拟冒泡处理
2015/11/24 Javascript
jquery获取img的src值的简单实例
2016/05/17 Javascript
js简单时间比较的方法
2016/08/02 Javascript
基于AngularJS前端云组件最佳实践
2016/10/20 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
2017/06/30 Javascript
简单的vuex 的使用案例笔记
2018/04/13 Javascript
原生js实现trigger方法示例代码
2019/05/22 Javascript
简单学习5种处理Vue.js异常的方法
2019/06/17 Javascript
Python操作MySQL数据库9个实用实例
2015/12/11 Python
Python heapq使用详解及实例代码
2017/01/25 Python
python 实现的发送邮件模板【普通邮件、带附件、带图片邮件】
2019/07/06 Python
Python创建空列表的字典2种方法详解
2020/02/13 Python
python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例
2020/02/26 Python
python解包用法详解
2021/02/17 Python
CSS3实现可爱的小黄人动画
2016/07/11 HTML / CSS
html5中的一些标签学习(心得)
2016/10/18 HTML / CSS
中国跨境海淘网站:考拉海购
2016/08/01 全球购物
Expedia泰国:预订机票、酒店和旅游包(航班+酒店)
2016/09/27 全球购物
NFL加拿大官方网上商店:NHLShop.ca
2019/03/12 全球购物
MediaMarkt比利时:欧洲最大电器连锁店
2020/12/21 全球购物
JDO的含义
2012/11/17 面试题
个人求职信范文分享
2014/01/31 职场文书
世界文化遗产导游词
2015/02/13 职场文书
大学开学感言
2015/08/01 职场文书
2016秋季幼儿园开学寄语
2015/12/03 职场文书
python中sqllite插入numpy数组到数据库的实现方法
2021/06/21 Python
Android Flutter实现3D动画效果示例详解
2022/04/07 Java/Android