Чтобы отформатировать валюту в JavaScript, вы можете использовать несколько методов. Вот некоторые из часто используемых подходов:
- toLocaleString():
Метод toLocaleString() преобразует число в строку, используя параметры форматирования текущей локали, включая форматирование валюты. Он автоматически форматирует число в соответствии с языковыми настройками пользователя.
Пример:
const currencyValue = 123456.78;
const formattedValue = currencyValue.toLocaleString('en-US', { style: 'currency', currency: 'USD' });
console.log(formattedValue); // Output: $123,456.78
- Intl.NumberFormat():
Конструктор Intl.NumberFormat() является альтернативой toLocaleString() и обеспечивает большую гибкость и контроль над параметрами форматирования. Вы можете явно указать локаль, валюту и другие параметры форматирования.
Пример:
const currencyValue = 123456.78;
const formatter = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' });
const formattedValue = formatter.format(currencyValue);
console.log(formattedValue); // Output: $123,456.78
- Пользовательское форматирование.
Если вам нужен больший контроль над форматированием, вы можете создать собственную функцию форматирования, используя методы манипулирования строками JavaScript.
Пример:
function formatCurrency(currencyValue, currencySymbol) {
const parts = currencyValue.toFixed(2).split('.');
const formattedValue = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
return currencySymbol + formattedValue + '.' + parts[1];
}
const currencyValue = 123456.78;
const formattedValue = formatCurrency(currencyValue, '$');
console.log(formattedValue); // Output: $123,456.78