为了账号安全,请及时绑定邮箱和手机立即绑定

Number.prototype.toLocaleString 的兼容问题

Number.prototype.toLocaleString 的兼容问题

慕工程0101907 2018-09-23 16:18:53
在做金额格式化的时候用到了 Number.prototype.toLocaleString 这个方法,但是在一些老版本的浏览器中会出现兼容问题var a = 10000000;a.toLocaleString();搜狗 7.5.5 多了 .000原来的格式化函数(格式化千分位且保留两位小数)formatAmount: function (amount) {   if (typeof amount === 'undefined' || amount === '') return '';  if (amount - 0 === 0) return '0.00';  let num = amount - 0;  let str = (num-0).toFixed(2); // 保留两位小数   let num_int = str.split('.')[0];  let num_point = str.split('.')[1];  return `${(num_int-0).toLocaleString()}.${num_point}`; }兼容后formatAmount: function (amount) { // 金额千位格式化       if (typeof amount === 'undefined' || amount === '') return '';      if (amount - 0 === 0) return '0.00';      let num = amount - 0;      let str = (num-0).toFixed(2); // 保留两位小时       let num_int = (str.split('.')[0] - 0).toLocaleString();      let num_point = str.split('.')[1];      return `${num_int.indexOf('.')>-1?num_int.split('.')[0]:num_int}.${num_point}`;     }搜狗 7.5.5 的内核版本是 Chromium 49.0.2623根据MDN显示是支持这个方法的。那这种兼容性该怎么判断?方法可以用但是返回的结果不同。
查看完整描述

1 回答

?
杨魅力

TA贡献1811条经验 获得超6个赞

.toLocaleString(undefined,{minimumFractionDigits:0,maximumFractionDigits:0})


查看完整回答
反对 回复 2018-09-23
  • 1 回答
  • 0 关注
  • 710 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信