根据用户的区域设置,输出也会有所不同,即使Number.prototype.toLocaleString
他们的浏览器支持,例如对于我在en-GB上,Number(1000000).toLocaleString();
给我"1,000,000"
。
有toLocaleString()
替代品吗?
为什么不写一个来做你想做的事呢?例如,
function localeString(x, sep, grp) {
var sx = (''+x).split('.'), s = '', i, j;
sep || (sep = ' '); // default seperator
grp || grp === 0 || (grp = 3); // default grouping
i = sx[0].length;
while (i > grp) {
j = i - grp;
s = sep + sx[0].slice(j, i) + s;
i = j;
}
s = sx[0].slice(0, i) + s;
sx[0] = s;
return sx.join('.');
}
现在
localeString(1000000.00001);
// "1 000 000.00001"