Как показать положение копеек (единиц) с Angular CurrencyPipe? - PullRequest
0 голосов
/ 11 февраля 2020

Я пытаюсь показать позицию (пенни), когда мой номер отформатирован с помощью Angular CurrencyPipe. Вот мой CurrencyPipe:

(686.50 | currency:'USD': true: '1.0-2') 

Текущий вывод $686.5.
Ожидаемый вывод $686.50.

Мой {minFractionDigits} равен 0, потому что я хочу показать целые числа (например, 52,00) как $52. Однако, когда существует десятичное значение, отличное от .00 (в позиции единиц или десятков), я хочу, чтобы мое отформатированное число включало в себя оба десятичных значения, а не только положение десятков (десятичных).

Как я могу заставить CurrencyPipe отображать позицию единиц (пенни) для чисел, таких как 686.50, при этом не отображая десятичных дробей для чисел, таких как 52,00?

1 Ответ

0 голосов
/ 11 февраля 2020

Итак, у вас есть два вопроса в одном сообщении.

Чтобы показать две десятичные точки, ваша труба должна выглядеть примерно так: urrency:'USD':true:'1.2-2'.

А вот как вы могли бы получить условный шаблон чтобы показать десятичные дроби или нет:

  <ng-container *ngIf="value % 1 === 0; else decimals">{{ valueB | currency:'USD':true:'1.0' }}</ng-container>
  <ng-template #decimals>{{ value | currency:'USD':true:'1.2-2' }}</ng-template>

Проверяет остаток, и если он равен 0, то использует канал без десятичных знаков. В противном случае вызывает шаблон, который использует канал с двумя десятичными знаками.

...