Форматирование валюты с помощью канала в Angular

С помощью канала CurrencyPipe можно отформатировать вывод валюты. В первом параметре канала передается код валюты согласно спецификации ISO 4217 (по умолчанию USD). Во втором параметре задаем отображение валюты. Оно может принимать следующие значения: 'code' (код валюты), 'symbol' (ее символ), 'symbol-narrow' (для стран, у которых несколько символов валюты), 'string' (для вывода любой строки). В третьем необязательном параметре можем задать формат числа, аналогичный каналу DecimalPipe. В четвертом необязательном параметре можно указать код используемой локали:

<div>{{ value | number : код валюты : отображение валюты : формат числа : код локали }}</div>

Примеры

Давайте попробуем работу канала на примерах. Для этого в классе компонента зададим следующее свойство salary, содержащую зарплату в некоторой валюте:

export class AppComponent { salary: number = 867.564; }

Пример

Давайте преобразуем наше число в валюту:

<div>{{ salary | currency }}</div>

Результат выполнения кода:

<div>$867.56</div>

Пример

Теперь давайте укажем отображение валюты в российских рублях:

<div>{{ salary | currency:'RUB':'code' }}</div>

Результат выполнения кода:

<div>RUB867.56</div>

Пример

Давайте выведем рядом с числом символ российского рубля:

<div>{{ salary | currency:'RUB':'symbol-narrow' }}</div>

Результат выполнения кода:

<div>₽867.56</div>

Пример

Теперь давайте числом с четырьмя цифрами в дробной части:

<div>{{ salary | currency:'RUB':'symbol':'2.4-5' }}</div>

Результат выполнения кода:

<div>RUB867.5640</div>

Пример

Давайте добавим к отображению валюты следующую строку:

<div>{{ salary | currency:'RUB':'this is a new currency - ' }}</div>

Результат выполнения кода:

<div>this is a new currency - 867.56</div>

Практические задачи

Дано число:

salary: number = 134.89;

Отформатируйте его в следующем виде:

'$134.89'

Дано число:

salary: number = 134.89;

Отформатируйте его в следующем виде:

'€134.89'

Дано число:

salary: number = 134.89;

Отформатируйте его в следующем виде:

'$134.890'

Дано число:

salary: number = 134.89;

Отформатируйте его в следующем виде:

'$0,134.8900'

Дано число:

salary: number = 134.89;

Отформатируйте его в следующем виде:

'this currency is changed 134.89'