Автор оригинала: Osama Akhtar.
Вступление
Необходимость вручную форматировать номер в виде строки валюты, может быть утомительным процессом. Несмотря на то, что это может быть сделано напряженным в нескольких строках кода, хорошая практика следовать стандартизированной норме, а не в жестком кресте, а также легче для разработчика, написания кода.
В этом руководстве мы посмотрим на Как отформатировать строку валюты в JavaScript Отказ
Форматирование строк в качестве валюты с локалом
А локаль это набор параметров, которые указывают что-либо на вашем компьютере, это определенное в регионе:
- Настройка формата номера
- Классификация символов, настройки преобразования
- Настройка формата даты
- Валютный формат настройки
- Установка размера бумаги
- Однимдней формат/первый день недели
- Меры измерения
Пользователи Windows знают параметры локали как Регион Настройки
Отказ С другой стороны, пользователи Linux могут не знать, что вы можете использовать локаль
Команда для проверки указанных параметров.
В JavaScript самый простой и самый популярный способ форматирования чисел в качестве валютных строк – это Intl.nomberformat ()
метод. Этот подход позволяет вам форматировать числа, используя пользовательские параметры локали – и в этой статье мы сосредоточимся на валютах.
Intl.nomberformat ()
Конструктор принимает Две аргументы , Первый Быть строкой локали, с которой мы определяем локаль, которую мы хотим отформатировать:
const price = 1470000.15; let dollarUSLocale = Intl.NumberFormat('en-US'); let dollarIndianLocale = Intl.NumberFormat('en-IN'); console.log("US Locale output: " + dollarUSLocale.format(price)); console.log("Indian Locale output: " + dollarIndianLocale.format(price));
Это выходы:
1,470,000.15 14,70,000.15
Здесь у нас есть локализованные варианты Цена
, отформатирован как простое число. Хотя существуют определенные варианты, которые мы также можем настроить, чтобы дополнительно настроить этот процесс форматирования.
Второй аргумент Может использоваться для указания параметров, которые вы хотите подать заявку во время форматирования. Это объект JavaScript, который может содержать, но не ограничивается:
стиль
валюта
usiongruping.
максимально возможные данные
Давайте посмотрим на эти свойства индивидуально.
Стиль
Стиль
Поле указывает тип форматирования, который вы хотите использовать. Возможные значения включают в себя:
Десятичная
– Форматирование десятичного количества.Валюта
– Форматирование валюты.единица
– Форматирование метрической или имперской единицы.
В нашем сценарии мы просто будем форматировать на Валюта
строки.
Валюта
Используя Валюта
Поле, вы можете указать, какую конкретную валюту вы хотите отформатировать, например 'Usd'
, «CAD»
или 'Inr'
Отказ
Давайте отформатим наши Цена
в разные валюты:
const price = 1470000.15; // Format the price above to USD, INR, EUR using their locales. let dollarUS = Intl.NumberFormat("en-US", { style: "currency", currency: "USD", }); let rupeeIndian = Intl.NumberFormat("en-IN", { style: "currency", currency: "INR", }); let euroGerman = Intl.NumberFormat("de-DE", { style: "currency", currency: "EUR", }); console.log("Dollars: " + dollarUS.format(price)); // Dollars: $147,000,000.15 console.log("Rupees: " + rupeeIndian.format(price)); // Rupees: ₹14,70,000.15 console.log("Euros: " + euroEU.format(price)); // Euros: 1.470.000,15 €
Дополнительные опции
Usegrupsing
Поле – это логическое поле, которое позволяет группировать номер с использованием запятых (или периодов для некоторых локалей). По умолчанию он установлен на правда
, как мы могли видеть на выходах выше.
Давайте выключимся:
let dollarUS = Intl.NumberFormat("en-US", { style: "currency", currency: "USD", useGrouping: false, }); // $1470000.15
MaximumSignSignDigitits
Поле позволяет устанавливать количество значительных цифр по цене. Это может быть использовано для округления вашей ценовой переменную на основе количества значимых цифр, которые вы установили.
Значительные цифры в упрощенных терминах являются цифрами представления числа, которые несут любой вес с точки зрения точности.
По иронии судьбы, Точность числа определяется как число его значимых цифр.
Значимые цифры включают в себя:
- Все ненулевые цифры
- Нули, которые происходят в любом месте между двумя ненулевыми цифрами
- Нули, которые имеют право всех ненулевых цифр, но только если они обозначают более высокую точность
Не значительные цифры включают в себя:
- Нули слева от всех ненулевых цифр
- Нули, которые имеют право всех ненулевых цифр, которые не обозначают точность
Например, в количестве 000003.1240000
Существует только 4 важные цифры, если наша точность составляет 4 важных цифры ( 3.124
). Тем не менее, также может быть 5 важных цифр, если наша точность составляет 5 важных цифр ( 3.1240
).
Пример показан ниже:
const price = 147741.15; // Format the above price dollar currency let dollarUS = Intl.NumberFormat("en-US", { style: "currency", currency: "USD", useGrouping: true, maximumSignificantDigits: 3, }); // $148,000 let dollarUS2 = Intl.NumberFormat("en-US", { style: "currency", currency: "USD", useGrouping: true, }); // $147,741.15
Заключение
В этом руководстве мы перешли, как отформатировать номер в качестве строки валюты в JavaScript. Мы использовали Intl.nomberformat ()
Способ сделать это, с желаемым локалом и несколькими настройками мы можем использовать для настройки процесса форматирования.