Как отформатировать число как денежное значение в JavaScript

Узнайте, как преобразовать число в денежное выражение с помощью API интернационализации JavaScript.

Скажем, у вас есть номер вроде10, и он представляет собой цену чего-либо.

Вы хотите превратить его в$10,00.

Однако, если номер состоит из более чем трех цифр, он должен отображаться по-другому, например1000должен отображаться как$1,000.00

Однако это в долларах США.

В разных странах существуют разные соглашения об отображении значений..

JavaScript упрощает нам задачу с помощьюECMAScript API интернационализации, относительно недавний API-интерфейс браузера, который предоставляет множество функций интернационализации, таких как форматирование дат и времени.

Очень хорошо поддерживается:

Browser support for the internationalization API

const formatter = new Intl.NumberFormat('en-US', {
  style: 'currency',
  currency: 'USD',
  minimumFractionDigits: 2
})

formatter.format(1000) // “$1,000.00” formatter.format(10) // “$10.00” formatter.format(123233000) // “$123,233,000.00”

ВminimumFractionDigitsСвойство устанавливает, что дробная часть всегда должна быть не менее 2 цифр. Вы можете проверить, какие другие параметры вы можете использовать встраница NumberFormat MDN.

В этом примере создается средство форматирования чисел для валюты евро для страны Италии:

const formatter = new Intl.NumberFormat('it-IT', {
  style: 'currency',
  currency: 'EUR'
})

Скачать мою бесплатнуюРуководство для начинающих по JavaScript


Больше руководств по js: