js toLocaleString安卓和IOS兼容问题

本文探讨了在安卓微信浏览器中使用toLocaleString()函数导致数字显示为空的问题,通过对比iOS和其他安卓设备的表现,分析了问题原因,并提供了一种正则表达式替代方案,确保在所有设备上都能正确显示带有千分符的数字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:需要在前端进行对浮点数添加千分符。
原来处理:

var num = num.toLocaleString();

发现在我安卓的手机上数字是空的,然后查看了同事的手机,发现IOS的浏览器都能正常显示,部分安卓手机显示是空。然后安卓手机用自带浏览器打开页面,数字显示是正常的。基本确定是安卓版微信浏览器没有兼容toLocaleString函数,导致有差异。
解决:不用toLocaleString函数进行添加千分符,改用正则的方式。

function addThousandthSign (numStr)  {
    var regForm = /(\d{1,3})(?=(\d{3})+(?:$|\.))/g;
    return numStr.toString().replace(regForm,"$1,");
}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值