Dans angular 2, Comment afficher un nombre en tant que monnaie arrondie à deux décimales?

Exemples:

  • 1.99 --> $1.99
  • 1.9 --> $1.90
  • 1 --> $1.00
  • 1.005 --> $1.01
  • 1.004 --> $1.00

J'utilise {{num | currency:'USD':true}} mais il ne montre pas les 0s de fin.

31
demandé sur Ant 2016-01-22 08:27:49

6 réponses

Utilisez ce code. Voici un exemple de travail http://plnkr.co/edit/xnN1HnJtTel6WA24GttR?p=preview {{num | currency:'USD':true:'1.2-2'}}

Explication :
number_expression | nombre[:digitInfo]

Enfin, nous obtenons un nombre décimal sous forme de texte. Trouvez la description.

Number_expression: une expression angulaire qui donnera à la sortie un nombre.

Number: mot-clé pipe utilisé avec pipe opérateur.

DigitInfo: {[9] } Il définit le format numérique.

Maintenant, nous allons comprendre comment utiliser digitInfo. La syntaxe pour digitInfo est la suivante.

{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}

Trouvez la description.

MinIntegerDigits : nombre Minimum de chiffres entiers. Valeur par défaut est 1. (dans notre cas 1)

MinFractionDigits: Nombre Minimum de chiffres de fraction. Par défaut est de 0. (dans notre cas 2)

MaxFractionDigits: nombre maximal de chiffres de fraction. Valeur par défaut est 3. (dans notre cas 2)

78
répondu Mubashir 2017-10-30 19:35:56

Eh bien, vous avez la bonne réponse, mais je pense que je peux élaborer plus cette réponse afin de la poster comme réponse:

Tout D'abord il y a nombre de tuyaux disponibles de l'angular2 à utiliser dans notre projet certains d'entre eux sont listés ci-dessous

CurrencyPipe, DatePipe, UpperCasePipe, LowerCasePipe et PercentPipe et bien d'autres.

Ici, comme votre question, vous avez un problème lié à currency pipe. donc, je veux expliquer un peu plus que d'autres réponse.

CurrencyPipe:

Un tuyau peut accepter n'importe quel nombre de paramètres optionnels pour affiner sa sortie. Nous ajoutons des paramètres à un tuyau en suivant le nom du tuyau avec un deux-points (:), puis la valeur du paramètre (par exemple, currency:'EUR'). Si notre pipe accepte plusieurs paramètres, nous séparons les valeurs avec des deux-points (par exemple slice: 1: 5).

{{nombre | monnaie:'your_type':true:'1.2-2'}}

Ici...le premier paramètre est le type de devise qui est soit EUR, USD ou quoi que ce soit, deuxième le paramètre est true / false pour le symbolDisplay qui est false byDefault. ensuite, le troisième est range limit fondamentalement une limite de plage . Vous pouvez définir une longueur min et max après le point décimal et un nombre fixe (ou le laisser vide par défaut) pour les endroits avant le point décimal.

J'ai trouvé quelques bons tutoriels pour les tuyaux dans l'angular2 que je poste ici..

Http://voidcanvas.com/angular-2-pipes-filters/

Https://angular.io/docs/ts/latest/guide/pipes.html

J'espère que cela aide et clarifie plus sur les tuyaux !! @ Pardeep !!

19
répondu Pardeep Jain 2016-01-22 16:34:27

Vous utilisez le bon tuyau. Vous avez juste besoin d'ajouter les informations de chiffres à la sortie.

{{num | currency:'USD':true}} ça devrait l'être...

{{num | currency:'USD':true:'1.2-2'}}

Pour Référence: 'USD' représente le type de devise, true indique s'il faut afficher le symbole de devise ( $ ), et '1.2-2' représente les informations de chiffres.

L'information de chiffre est {minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}.

minIntegerDigits est le nombre minimum de chiffres entiers à utiliser et à 1 par défaut.
minFractionDigits est le nombre minimum de chiffres après fraction et par défaut à 0.
maxFractionDigits est le nombre maximum de chiffres après la fraction et par défaut à 3.

La Source pour les informations de chiffres peut être trouvée ici: https://angular.io/docs/ts/latest/api/common/index/DecimalPipe-pipe.html

11
répondu Ant 2017-02-03 18:23:06

Si, comme moi, vous essayez de le faire dans le fichier d'enregistrement/javascript plutôt que HTML, vous pouvez également utiliser toLocaleString

Donc, pour convertir un nombre en une chaîne de devise:

  ppCurrency(number) {
   return number.toLocaleString('en-US', { style: 'currency', currency: 'USD' });
  }
7
répondu swhitman 2017-05-25 00:27:13

Suivant convertira avec 2 chiffres décimaux

{{num | currency : '$' : 2}}

Angulaire 2

{{num | currency:'USD':true:'1.2-2'}}
5
répondu Santhy K 2016-07-20 04:19:45
<input type="number" [(ngModel)]="myModel" (keyup)="onBlurMethod()">
<br>
<br> The formatted currency is :
<br> {{myModel | currency:'USD':true:'1.2-2' }}

Voici l'exemple de travail.

Http://plnkr.co/edit/pSK8p7u3oo4WsAB9aFBS?p=preview

1
répondu Kumar Ranjan 2016-01-22 11:14:09