有没有办法让逗号后面有4位数的number.toLocaleString()
?
示例:
var number = 49.9712;
document.getElementById('id').innerText = number.toLocaleString();
结果: 49,9712
但现在它总是以逗号后的2位数返回数字: 49,97
答案 0 :(得分:76)
您可以使用second argument提供一些选项。在您的情况下,使用默认语言环境:
number.toLocaleString(undefined, { minimumFractionDigits: 4 })
答案 1 :(得分:5)
我找到了
var number = 49.9712;
number.toLocaleString( { minimumFractionDigits: 4 })
给出了" 49.971"
的结果为了实际得到4位小数位数,我做了这个:
number.toLocaleString(undefined, { minimumFractionDigits: 4 })
同时填写国家代码:
number.toLocaleString('en-US', { minimumFractionDigits: 4 })
在这两种情况下,我得到了49.9712的答案。
答案 2 :(得分:1)
单独使用toLocaleString()
无法执行此操作。但是你可以在显示之前舍入到4位小数:
var n = Math.round(number * 10000) / 10000;
document.getElementById('id').innerText = n.toLocaleString();
答案 3 :(得分:0)
如果您需要使用区域设置,我认为您无法指定您需要4个小数位,但您显然可以使用其他原型方法执行此操作,例如{{3 }}
以下是一个例子:
var number = 12.3456
number.toFixed(4)
答案 4 :(得分:0)
快速解决方案:
这样称呼它:
console.log(localeN(value, 4));
function localeN(v, n) {
var i, f;
i = Math.floor(v);
f = v - i;
return i.toLocaleString() + f.toFixed(n).substr(1);
}