Форматирование валюты с помощью канала в 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'