Типичная проблема, с которой часто сталкиваются разработчики JavaScript — это форматирование чисел в виде строк валюты. Например, есть число 2500.00, и требуется отформатировать его как строку вида «$ 2,500.00».
Первое, что стоит знать — JavaScript не имеет встроенной функции для форматирования чисел в виде валюты. Но это не означает, что такое форматирование невозможно — на самом деле, есть несколько способов решить эту проблему.
Один из способов — использовать метод toLocaleString(). Этот метод преобразует число в строку, используя локальные настройки. Например:
let number = 2500.00;
let formattedNumber = number.toLocaleString('en-US', {style: 'currency', currency: 'USD'});
В этом коде значение en-US указывает на использование американского стандарта форматирования чисел, а {style: 'currency', currency: 'USD'} — на необходимость форматировать число как валюту в долларах США. Результатом выполнения этого кода будет строка «$2,500.00».
Этот метод достаточно гибкий и позволяет форматировать числа в валюту любой страны, просто заменяя значение currency на нужное.
Но что делать, если нужно форматировать число в виде валюты в старых версиях JavaScript, которые не поддерживают метод toLocaleString()? В этом случае можно использовать функцию, которая преобразует число в строку, а затем вставляет запятые в нужные места. Например:
function formatCurrency(num) {
let str = num.toFixed(2).toString().split('.');
while ((str[0].length > 3)) {
str[0] = str[0].substring(0, str[0].length-3) + ',' + str[0].substring(str[0].length-3);
}
return '$' + str.join('.');
}
Эта функция преобразует число в строку с двумя знаками после запятой, а затем вставляет запятые каждые три знака справа налево. Результатом выполнения этой функции для числа 2500.00 будет строка «$2,500.00».
Оба этих способа позволяют форматировать числа в виде строк валюты в JavaScript. Выбор между ними зависит от версии языка и требований проекта.
Перейти в телеграм, чтобы получить результаты теста






Забрать
Добавить комментарий