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 的Document属性和方法集合
Jan 25 Javascript
基于jquery的模态div层弹出效果
Aug 21 Javascript
jQuery 源码分析笔记(7) Queue
Jun 19 Javascript
JS 表单验证大全
Nov 23 Javascript
js实现鼠标感应向下滑动隐藏菜单的方法
Feb 20 Javascript
详解JavaScript中的every()方法
Jun 08 Javascript
JavaScript获取当前url根目录(路径)
Jun 17 Javascript
纯JavaScript手写图片轮播代码
Oct 20 Javascript
jquery中封装函数传递当前元素的方法示例
May 05 jQuery
vue和iview实现Scroll 数据无限滚动功能
Oct 31 Javascript
vue设置动态请求地址的例子
Nov 01 Javascript
利用JavaScript写一个简单计算器
Nov 27 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
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/03/02 无线电
详解WordPress中提醒安装插件以及隐藏插件的功能实现
2015/12/25 PHP
CodeIgniter视图使用注意事项
2016/01/20 PHP
php实现图片缩略图的方法
2016/03/29 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
2017/04/26 PHP
jquery text,radio,checkbox,select操作实现代码
2009/07/09 Javascript
按给定几率进行随机抽取的js代码
2010/12/28 Javascript
jQuery EasyUI API 中文文档 - PropertyGrid属性表格
2011/11/18 Javascript
THREE.JS入门教程(2)着色器-上
2013/01/24 Javascript
可在线编辑网页文字效果代码(单击)
2013/03/02 Javascript
js实现简单的购物车有图有代码
2014/05/26 Javascript
JavaScript中逗号运算符介绍及使用示例
2015/03/13 Javascript
Node.js插件安装图文教程
2016/05/06 Javascript
原生JS实现在线问卷调查投票特效
2017/01/03 Javascript
原生JavaScript实现Tooltip浮动提示框特效
2017/03/07 Javascript
详解打造 Vue.js 可复用组件
2017/03/24 Javascript
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
2017/04/22 Javascript
史上最全JavaScript常用的简写技巧(推荐)
2017/08/17 Javascript
Node解决简单重复问题系列之Excel内容的获取
2018/01/02 Javascript
javascript的惯性运动实现代码实例
2019/09/07 Javascript
在Vue项目中使用Typescript的实现
2019/12/19 Javascript
python基础教程之Hello World!
2014/08/29 Python
使用apidocJs快速生成在线文档的实例讲解
2018/02/07 Python
python中map的基本用法示例
2018/09/10 Python
pandas读取csv文件,分隔符参数sep的实例
2018/12/12 Python
Django框架之DRF 基于mixins来封装的视图详解
2019/07/23 Python
Django之路由层的实现
2019/09/09 Python
Python while循环使用else语句代码实例
2020/02/07 Python
Python 代码调试技巧示例代码
2020/08/11 Python
python实现猜拳游戏项目
2020/11/30 Python
实验心得体会
2014/09/05 职场文书
社区综治工作汇报
2014/10/27 职场文书
爱的承诺书
2015/01/20 职场文书
元旦主持词开场白
2015/05/29 职场文书
使用feign服务调用添加Header参数
2021/06/23 Java/Android
html粘性页脚的具体使用
2022/01/18 HTML / CSS