JavaScript Number.toLocaleString()在分隔符后有4位数字

时间:2014-07-15 12:58:47

标签: javascript numbers format

有没有办法让逗号后面有4位数的number.toLocaleString()

示例:

var number = 49.9712;
document.getElementById('id').innerText = number.toLocaleString();

结果: 49,9712

但现在它总是以逗号后的2位数返回数字: 49,97

5 个答案:

答案 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);
}