JavaScript 千位分隔符(逗号)表示web网页中的大数字

版权声明:干一行、爱一行、爱学习、爱分享! 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
}

猜你喜欢

转载自blog.csdn.net/weixin_36951197/article/details/84631967