toLocaleString
Функция toLocaleString
позволяет нам (среди прочего) форматировать числа в валюту. Эта функция позаботится не только об отображении символа, но и о позиционировании разделителей и центов.
Основное использование
const value = 200;
const price = value.toLocaleString(
"en-US", // local language
{
style: "currency", // function to apply
currency: "USD" // your preferred currency
}
);
console.log(price);
// $200.00
Другой пример
const value = 6000;
const price = value.toLocaleString(
"hi-IN",
{
style: "currency",
currency: "INR"
}
);
console.log(price);
// ₹6,000.00
Intl.NumberFormat
Предположим, что вам нужно применять одни и те же настройки форматирования снова и снова. В этом случае вы можете создать функцию, используя конструктор Intl.NumberFormat
, которая получает настройки и имеет методы для применения этого формата непосредственно к числам.
Основное использование
const value = 200;
const promoValue = 170.5;
const formatter = new Intl.NumberFormat(
"en-UK",
{
style: "currency",
currency: "GBP"
}
);
const price = formatter.format(value);
const promoPrice = formatter.format(promoValue);
console.log(price); // £200.00
console.log(promoPrice); // £170.50
Как узнать валюту и язык моей страны?
Для преобразования числа в локальную строку первым параметром toLocaleString
и Intl.NumberFormat
является сам язык в формате ISO, за которым следует код страны.
Вот список языков в формате ISO: https://datahub.io/core/language-codes