JS实现数字千位符格式化方法
/*** [number_format 参数说明:]* @param {[type]} number [number:要格式化的数字]* @param {[type]} decimals [decimals:保留几位小数]* @param {[type]} dec_point [dec_point:小数点符号]* @param {[type]} thousands_sep [thousands_sep:千分位符号]* @param {[type]} roundtag [roundtag:舍入参数,默认 "ceil" 向上取,"floor"向下取,"round" 四舍五入]* @return {[type]} [description]* */ function number_format(number, decimals, dec_point, thousands_sep, roundtag) {number = (number + '').replace(/[^0-9+-Ee.]/g, '');roundtag = roundtag || "ceil"; //"ceil","floor","round"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);console.log();return '' + parseFloat(Math[roundtag](parseFloat((n * k).toFixed(prec * 2))).toFixed(prec * 2)) / 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); } console.log(number_format(2, 2, ".", ",")) //"2.00" console.log(number_format(3.7, 2, ".", ",")) //"3.70" console.log(number_format(3, 0, ".", ",")) //"3" console.log(number_format(9.0312, 2, ".", ",")) //"9.03" console.log(number_format(9.00, 2, ".", ",")) //"9.00" console.log(number_format(39.715001, 2, ".", ",", "floor")) //"39.71" console.log(number_format(9.7, 2, ".", ",")) //"9.70" console.log(number_format(39.7, 2, ".", ",")) //"39.70" console.log(number_format(9.70001, 2, ".", ",")) //"9.71" console.log(number_format(39.70001, 2, ".", ",")) //"39.71" console.log(number_format(9996.03, 2, ".", ",")) //"9996.03" console.log(number_format(1.797, 3, ".", ",", "floor")) //"1.797"
参数有点多,你可以根据你自己的需求去修改。
推荐的类库 Numeral.js 和 accounting.js
Numeral.js
一个用于格式化和操作数字的JavaScript库。数字可以被格式化为货币,百分比,时间,几个小数位数,千分位等等。 您也可以随时创建自定义格式。
官网及文档:http://numeraljs.com/
GitHub:https://github.com/adamwdraper/Numeral-js
accounting.js
一个轻量级的JavaScript库,用于格式化数字,金额和货币等。
官网及文档:http://openexchangerates.github.io/accounting.js/
GitHub:accounting.js
如果这篇文章对您有帮助,您可以打赏我
转载于:https://www.cnblogs.com/yeminglong/p/5301295.html
JS实现数字千位符格式化方法相关推荐
- JS实现的4种数字千位符格式化方法分享
所谓的数字千分位形式,即从个位数起,每三位之间加一个逗号.例如"10,000".针对这个需求,我起初写了这样一个函数: 方法一 代码如下: // 方法一 function toTh ...
- python正则分辨逗号去除数字千位符
直接去除逗号的方案太粗暴,会错杀正常行文中的逗号,目标是去除数字中夹杂全角半角逗号. # 去除千位符的函数 def delect_qianweifu(sentence):sentence=senten ...
- js千位符 | js 千位分隔符 | js 金额格式化
js 千位分隔符 千位分隔符,其实就是数字中的逗号.依西方的习惯,人们在数字中加进一个符号,以免因数字位数太多而难以看出它的值.所以人们在数字中,每隔三位数加进一个逗号,也就是千位分隔符,以便更加容易 ...
- Android 字符串格式化 千位符
Android 字符串格式化 千位符 字符串格式化工具类 千位符 & 千位符保留小数点后两位 import java.text.DecimalFormat; import java.text. ...
- java 格式化千位符 逗号隔开 附加货币单位
直接上干货. 格式化千位符,以逗号隔开,有很多种实现方式,这里直说自己认为最简单的一种. /*** - format("###,###.##", 111222.34567) ==& ...
- JS 数字千位分隔符且保留两位小数
数字千位分隔符且保留两位小数 1.仅需要整数位千位分隔 num.toLocaleString() 2.仅需要保留两位小数 num.toFixed(2) 3.需要千位分隔符且带两位小数 Thousand ...
- Vue 数字千位分隔符
涉及的数据比较多,写一个过滤器,将所有的数据都过滤一下,挂载到全局,不需要每个页面引用了. 创建一个js文件,实现数字千位分隔符 export function numberToCurrencyNo( ...
- JS实现数字自动转换人民币金额(自动格式化输入的数字/千位分隔符)
这个货币转换JS代码,可以实现自动格式化输入的数字,自动千位分隔符 <script> function cc(s){if(/[^0-9\.]/.test(s)) return " ...
- element-ui 为<el-table>内数据 添加数字千位分割符
因用若依做后台管理脚手架,所以首先把以下方法写在Utils文件夹下的 ruoyi.js 里 1 export function stateFormat(row, column, cellValue) ...
- js正则表达式实现千分位符
function numberThousands (number, thousandsSeperator = ',') {return String(number).replace(/(\d)(?=( ...
最新文章
- 万字长文 | 23 个问题 TCP 疑难杂症全解析
- appium简明教程(7)——Desired Capabilities详解
- 让Java程序只运行一个实例
- vue 项目中 点击回车键 自动登录
- JPA规范:一对多、一对一、多对多的双向关联与级联操作以及JPA联合主键
- 用.Net开发Windows服务初探
- oracle文件系统挂载点,挂载和取消挂载 Oracle Solaris 文件系统
- android 用年月日初始化date_Android 系统自带api选择年月日 日历
- python共享内存通信mapofview_python map eval strPython socket模块实现的udp通信功能示例...
- Java中的内存模型JMM与线程
- java中如何实现货币兑换_java货币转换
- 推荐5款免费网盘,空间大不限速!
- uc看视频显示服务器有点忙,UC3软件常见问题处理方案
- 解决pip下载速度慢的问题
- 提高组CSP-S初赛模拟试题整理
- sql内连接、左连接、右连接以及全连接查询
- 二级python——绘制七彩圆圈
- 机器学习翻译任务中的constrain decoding 实现流程方法详解
- python作业练习
- java led警示牌,一种新型LED三角警示牌的制作方法