版权声明:干一行、爱一行、爱学习、爱分享! https://blog.csdn.net/weixin_36951197/article/details/84631967
千位分隔符(逗号)表示web网页中的大数字
1. 方法一:使用toLocaleString()方法
Number.toLocaleString('en-US');
//举例
(123456789).toLocaleString('en-US');//123,456,789
另外,对于IE edge之前的版本,Number.toLocaleString()会自动补上两位小数,如果是不需要的,需要自己额外过滤掉。
2. 方法二:使用正则表达式的方式
语法如下:
String(Number).replace(/(\d)(?=(\d{3})+$)/g, "$1,");
//举例
String(123456789).replace(/(\d)(?=(\d{3})+$)/g, "$1,"); //123,456,789
封装成一个方法
/**
* 将数值四舍五入(保留2位小数)后格式化成金额形式
*
* @param num 数值(Number或者String)
* @return 金额格式的字符串,如'1,234,567.45'
* @type String
*/
function price(val) {
if (!val) return 0.0
let USPrice = Number.parseFloat(val).toLocaleString('en-US')
let lastDot = USPrice.toString().indexOf('.')
// 完全是整数, 需要添加小数点
if (lastDot === -1) USPrice += '.00'
// 返回数据是一位小数,用0补齐为两位小数
if (USPrice.toString().substring(lastDot + 1).length === 1) USPrice += '0'
return '¥' + USPrice
}