Как в JavaScript форматировать число в локализованную валюту? Что будет выведено в консоль?
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
В первой строке создается переменная price
типа BigInt
. Этот тип часто используется во всем что связано с деньгами, потому что в нем можно безопасно хранить числа больше чем Number.MAX_SAFE_INTEGER
.
Дальше, мы пытаемся форматировать число 99n
в валюту с помощью функции toLocaleString
.
Чтобы форматирование сработало корректно, в toLocaleString
нужно передать 2 параметра:
- локаль, например
en-US
, — определит вид форматирования строки - объект c опциями форматирования
Одной из опций форматирование может быть style: 'currency'
. Тогда число будет представлена как валюта определенного региона:
console.log(99n.toLocaleString('en-US', { style: 'currency', currency: 'USD' }));
console.log(49n.toLocaleString('de-DE', { style: 'currency', currency: 'EUR' }));
console.log(19n.toLocaleString('en-IN', { style: 'currency', currency: 'INR' }));
Цены будут отформатированы по-разному:
$99.00
49,00 €
₹19.00
Но, если ты внимательно посмотришь на пример кода в задаче, то заметишь, что в опциях не была указана валюта. Без поля currency
форматирование валюты не имеет смысла и работать не будет.
Возникнет ошибка, и цена не будет выведена на экран.
ОТВЕТ: В консоли появится ошибка TypeError: Currency code is required with currency style.