Как форматировать числа в валютную строку с помощью JavaScript


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

Оцените статью
devanswers.ru
Добавить комментарий