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 cookies 常见网页木马挂马代码 24小时只加载一次
Apr 13 Javascript
javscript对象原型的一些看法
Sep 19 Javascript
jQuery封装的获取Url中的Get参数示例
Nov 26 Javascript
jquery实现相册一下滑动两次的方法
Feb 09 Javascript
jQuery验证元素是否为空的两种常用方法
Mar 17 Javascript
jQuery DateTimePicker 日期和时间插件示例
Jan 22 Javascript
Vue中使用vux的配置详解
May 05 Javascript
JS实现把一个页面层数据传递到另一个页面的两种方式
Aug 13 Javascript
小程序自定义日历效果
Dec 29 Javascript
javascript中正则表达式语法详解
Aug 07 Javascript
Vue实现摇一摇功能(兼容ios13.3以上)
Jan 26 Vue.js
Vue-router编程式导航的两种实现代码
Mar 04 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
追忆往昔!浅谈收音机的百年发展历史
2021/03/01 无线电
PHP禁止个别IP访问网站
2013/10/30 PHP
smarty模板中拼接字符串的方法
2014/02/14 PHP
PHP计算日期相差天数实例分析
2016/02/23 PHP
在Yii2特定页面如何禁用调试工具栏Debug Toolbar详解
2017/08/07 PHP
php简单读取.vcf格式文件的方法示例
2017/09/02 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
实现JavaScript中继承的三种方式
2009/10/16 Javascript
javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)
2012/08/22 Javascript
jquery获取tr中控件值并操作tr实现思路
2013/03/27 Javascript
js动态给table添加/删除tr的方法
2013/08/02 Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
2013/09/10 Javascript
JS 获取鼠标左右键的键值方法
2014/10/11 Javascript
浅谈EasyUI中编辑treegrid的方法
2015/03/01 Javascript
jQuery之简单的表单验证实例
2016/07/07 Javascript
bootstrap表单按回车会自动刷新页面的解决办法
2017/03/08 Javascript
webpack独立打包和缓存处理详解
2017/04/03 Javascript
JavaScript框架Angular和React深度对比
2017/11/20 Javascript
详解vue-cli项目中的proxyTable跨域问题小结
2018/02/09 Javascript
webpack 单独打包指定JS文件的方法
2018/02/22 Javascript
p5.js 毕达哥拉斯树的实现代码
2018/03/23 Javascript
vue 实现axios拦截、页面跳转和token 验证
2018/07/17 Javascript
react-intl实现React国际化多语言的方法
2020/09/27 Javascript
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
python学习笔记之列表(list)与元组(tuple)详解
2017/11/23 Python
python批量从es取数据的方法(文档数超过10000)
2018/12/27 Python
PyTorch中Tensor的数据类型和运算的使用
2020/09/03 Python
Django通过设置CORS解决跨域问题
2020/11/26 Python
Sephora丝芙兰马来西亚官方网站:国际化妆品购物
2018/03/15 全球购物
奥地利购买珠宝和手表网站:ELLA JUWELEN
2019/09/03 全球购物
毕业生找工作推荐信
2013/11/21 职场文书
比赛口号大全
2014/06/10 职场文书
组工干部演讲稿
2014/09/02 职场文书
介绍信范文
2015/01/31 职场文书
2019年12月24日平安夜祝福语集锦
2019/12/24 职场文书
使用feign服务调用添加Header参数
2021/06/23 Java/Android