Ответ 1
Вы можете использовать второй аргумент, чтобы предоставить некоторые параметры. В вашем случае с локалью по умолчанию:
number.toLocaleString(undefined, { minimumFractionDigits: 4 })
Есть ли способ получить number.toLocaleString()
с 4 цифрами после запятой?
Пример:
var number = 49.9712;
document.getElementById('id').innerText = number.toLocaleString();
Результат: 49,9712
Но теперь он всегда возвращает число с двумя цифрами после запятой: 49,97
Вы можете использовать второй аргумент, чтобы предоставить некоторые параметры. В вашем случае с локалью по умолчанию:
number.toLocaleString(undefined, { minimumFractionDigits: 4 })
Я обнаружил, что
var number = 49.9712;
number.toLocaleString( { minimumFractionDigits: 4 })
дал результат "49.971"
Чтобы действительно получить цифры из десяти знаков после запятой, я сделал следующее:
number.toLocaleString(undefined, { minimumFractionDigits: 4 })
Сработало также заполнение кода страны:
number.toLocaleString('en-US', { minimumFractionDigits: 4 })
В обоих случаях я получил 49.9712 за ответ.
Вы не можете сделать это только с помощью toLocaleString()
. Но перед отображением вы можете округлить до 4 знаков после запятой:
var n = Math.round(number * 10000) / 10000;
document.getElementById('id').innerText = n.toLocaleString();
Если вам нужно использовать настройки Locale, я не думаю, что вы сможете указать, что вам нужно 4 десятичных разряда, но вы, очевидно, можете это сделать, используя другие методы прототипа, такие как toFixed()
.
Вот пример:
var number = 12.3456
number.toFixed(4)