web-dev-qa-db-fra.com

Angular 5 - currencyPipe

J'ai un problème avec le CurrencyPipe déjà intégré d'Angular.

Je dois afficher un symbole monétaire à l'aide de CurrencyPipe mais je ne peux pas l'utiliser à moins que je ne fournisse un numéro d'entrée.

Parce que le CurrencyPipe utilise les paramètres régionaux actuels pour obtenir le symbole monétaire, je pensais que le numéro d'entrée pourrait être facultatif.

Comportement actuel:

{{ 1 | currency:'USD' }} --> $1

Comportement nécessaire:

{{ null | currency:'USD' }} --> $

L'un de vous sait-il si c'est possible avec le Pipe par défaut? Merci!!

7
David Casanellas

Essayez ce simple tube de devises personnalisé

{{ null | CustomeCurrency }}</p>

import { Pipe, PipeTransform } from '@angular/core';
import { CurrencyPipe } from '@angular/common';
@Pipe({ name: 'CustomeCurrency' })
export class CustomCurrencyPipe implements PipeTransform {

constructor(private currencyPipe: CurrencyPipe) { }

transform(value: any, currency: string, symbol: boolean = false): string {
     if (value != null)
        return this.currencyPipe.transform(value, currency, symbol);
    return this.currencyPipe.transform(0, currency, symbol).split('0.00')[0];
 }
}
9
wessam yaacob

Le canal monétaire a été modifié en Angular v5. L'option symbolDisplay (troisième paramètre) est maintenant une chaîne au lieu d'un booléen. Les valeurs acceptées sont "code", "symbol" ou "symbol- étroit".

4
dev-nish

Si vous obtenez le message d'erreur Le canal monétaire a été modifié en Angular v5. L'option symbolDisplay (troisième paramètre) est maintenant une chaîne au lieu d'un booléen. Les valeurs acceptées sont "code", "symbol" ou "symbol- étroit". reportez-vous ensuite à la documentation Angular pour obtenir de l'aide, utilisez les exemples de code sur cette page pour résoudre le problème: https://angular.io/api/common/CurrencyPipe

4
Mark Lanham