Подтвердить что ты не робот

JavaScript Number.toLocaleString() с 4 цифрами после разделителя

Есть ли способ получить number.toLocaleString() с 4 цифрами после запятой?

Пример:

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

Результат: 49,9712

Но теперь он всегда возвращает число с двумя цифрами после запятой: 49,97

4b9b3361

Ответ 1

Вы можете использовать второй аргумент, чтобы предоставить некоторые параметры. В вашем случае с локалью по умолчанию:

number.toLocaleString(undefined, { minimumFractionDigits: 4 })

Ответ 2

Я обнаружил, что

var number = 49.9712;
number.toLocaleString( { minimumFractionDigits: 4 })

дал результат "49.971"

Чтобы действительно получить цифры из десяти знаков после запятой, я сделал следующее:

number.toLocaleString(undefined, { minimumFractionDigits: 4 })

Сработало также заполнение кода страны:

number.toLocaleString('en-US', { minimumFractionDigits: 4 })

В обоих случаях я получил 49.9712 за ответ.

Ответ 3

Вы не можете сделать это только с помощью toLocaleString(). Но перед отображением вы можете округлить до 4 знаков после запятой:

var n = Math.round(number * 10000) / 10000;
document.getElementById('id').innerText = n.toLocaleString();

Ответ 4

Если вам нужно использовать настройки Locale, я не думаю, что вы сможете указать, что вам нужно 4 десятичных разряда, но вы, очевидно, можете это сделать, используя другие методы прототипа, такие как toFixed().

Вот пример:

var number = 12.3456
number.toFixed(4)