
Как в 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.