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 相关文章推荐
Three.js源码阅读笔记(物体是如何组织的)
Dec 27 Javascript
jQuery层次选择器选择元素使用介绍
Apr 18 Javascript
js动态移动滚动条至底部示例代码
Apr 24 Javascript
javascript带回调函数的异步脚本载入方法实例分析
Jul 02 Javascript
JavaScript中的this到底是什么(一)
Dec 09 Javascript
深入理解JavaScript 函数
Jun 06 Javascript
js中split()方法得到的数组长度问题
Jul 19 Javascript
web页面和微信小程序页面实现瀑布流效果
Sep 26 Javascript
Vue项目引进ElementUI组件的方法
Nov 11 Javascript
微信小程序云开发如何实现数据库自动备份实现
Aug 16 Javascript
vue任意关系组件通信与跨组件监听状态vue-communication
Oct 18 Javascript
jQuery实现鼠标拖动图片功能
Mar 04 jQuery
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数组函数序列之array_keys() - 获取数组键名
2011/10/30 PHP
PHP使用JSON和将json还原成数组
2015/02/12 PHP
PHP7.1实现的AES与RSA加密操作示例
2018/06/15 PHP
PHP filesize函数用法浅析
2019/02/15 PHP
PHP生成短网址的思路以及实现方法的详解
2019/03/25 PHP
firefox和IE系列的相关区别整理 以备后用
2009/12/28 Javascript
JavaScript中消除闭包的一般方法介绍
2015/03/16 Javascript
JavaScript实现信用卡校验方法
2015/04/07 Javascript
JS自定义混合Mixin函数示例
2016/11/26 Javascript
BootStrap3使用错误记录及解决办法
2016/12/22 Javascript
JS HTML图片显示Canvas 压缩功能
2017/07/21 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
2018/09/18 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
2020/01/07 Javascript
Vue项目中使用flow做类型检测的方法
2020/03/18 Javascript
JS浏览器BOM常见操作实例详解
2020/04/27 Javascript
Vue.js中Line第三方登录api的实现代码
2020/06/29 Javascript
基于 Vue 的 Electron 项目搭建过程图文详解
2020/07/22 Javascript
原生js实现自定义难度的扫雷游戏
2021/01/22 Javascript
python dict remove数组删除(del,pop)
2013/03/24 Python
Python中logging模块的用法实例
2014/09/29 Python
python base64 decode incorrect padding错误解决方法
2015/01/08 Python
在Python中利用Pandas库处理大数据的简单介绍
2015/04/07 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
2019/01/23 Python
python config文件的读写操作示例
2019/09/27 Python
python中删除某个元素的方法解析
2019/11/05 Python
简单了解Django项目应用创建过程
2020/07/06 Python
公认8个效率最高的爬虫框架
2020/07/28 Python
Python实现自动签到脚本的示例代码
2020/08/19 Python
pyqt5实现井字棋的示例代码
2020/12/07 Python
pycharm 的Structure界面设置操作
2021/02/05 Python
会计专业求职信范文
2014/03/16 职场文书
单位绩效考核方案
2014/05/11 职场文书
计算机科学与技术专业求职信
2014/09/03 职场文书
2015关爱留守儿童工作总结
2014/12/12 职场文书
辞职信模板(中英文版)
2015/02/27 职场文书
动画《平凡职业成就世界最强》宣布制作OVA
2022/04/01 日漫