Хотел поднять еще один интересный вопрос, который слишком часто возникает в разных проектах: речь идет о форматировании чисел как валют.

Во многих проектах можно увидеть, что разработчики или владельцы проектов не придают им значения. Но форматирование имеет большие преимущества.

Сначала, если вы отформатируете числа как правильные валюты, они будут выглядеть точными и иметь больше смысла.

В JavaScript используются две лучшие практики, и они входят в его нативную функциональность.

  1. Javascript имеет средство форматирования чисел как часть API интернационализации.
var formatter = new Intl.NumberFormat('en-US', {
  style: 'currency',
  currency: 'USD',
});

formatter.format(2000); /* $2,000.00 */

2. И более старое решение .toLocaleString

(2000).toLocaleString('en-US', {
  style: 'currency',
  currency: 'USD',
}); /* $2,000.00 */

Разница

Они оба предлагают по существу одинаковую функциональность. Однако toLocaleString в своих старых воплощениях фактически не поддерживает локали: она использует системную локаль. Поэтому убедитесь, что вы используете правильную версию (MDN предлагает проверить наличие Intl). Кроме того, производительность обоих вариантов одинакова для одного элемента, но если вам нужно отформатировать много чисел, использование Intl.NumberFormat примерно в 70 раз быстрее.

Поддержка браузера

В настоящее время поддержка браузеров больше не является проблемой: 97,5% поддержки по всему миру, 98% в США и 99% в ЕС, и есть прокладка для поддержки в ископаемых браузерах (например, IE8), если вам это действительно нужно.

Заключение

Правильное форматирование чисел в виде валют поможет вам более точно доставлять свои продукты, и эти методы избавят вас от написания регулярных выражений или других длинных подходов.

Надеюсь, эта статья помогла вам.