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.
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)
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 !!
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
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' });
}
Suivant convertira avec 2 chiffres décimaux
{{num | currency : '$' : 2}}
Angulaire 2
{{num | currency:'USD':true:'1.2-2'}}
<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.