JavaScript Number.toLocaleString() with 4 digits after separator
JavascriptNumbersFormatJavascript Problem Overview
Is there a way to get number.toLocaleString()
with 4 digits after the comma?
Example:
var number = 49.9712;
document.getElementById('id').innerText = number.toLocaleString();
Result: 49,9712
But now it always returns number with 2 digits after comma: 49,97
Javascript Solutions
Solution 1 - Javascript
You may use second argument to provide some options. In your case, with default locale:
number.toLocaleString(undefined, { minimumFractionDigits: 4 })
Solution 2 - Javascript
I found that
var number = 49.9712;
number.toLocaleString( { minimumFractionDigits: 4 })
gave the result of "49.971"
In order to actually get the 4 decimal place digits, I did this:
number.toLocaleString(undefined, { minimumFractionDigits: 4 })
Also filling in a country code worked:
number.toLocaleString('en-US', { minimumFractionDigits: 4 })
In both cases I got 49.9712 for the answer.
Solution 3 - Javascript
Quick solution:
call it like this:
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);
}
Solution 4 - Javascript
You cannot do this with toLocaleString()
alone. But you can round to 4 decimal places before displaying:
var n = Math.round(number * 10000) / 10000;
document.getElementById('id').innerText = n.toLocaleString();