web-dev-qa-db-fra.com

Obtenir un modèle de format monétaire à partir du filtre AngularJS

Je suis intéressé à créer un filtre qui accepterait un montant, un code de devise ISO 4217 et une taille de fraction, et retournerait le montant dans ce format. J'ai remarqué que AngularJS a goog.i18n.currency.getGlobalCurrencyPattern dans i18n/closure/currencySymbols.js, mais je suis relativement nouveau pour Angular et je ne sais pas s'il est possible de l'utiliser?

13
JJ Johnson

Le modèle de devise et les symboles ne sont que cela. Il détermine comment afficher un nombre. Il ne le convertira pas de XXX en XXX. Vous devrez effectuer la conversion en fonction des taux de conversion actuels.

En ce qui concerne l'utilisation du formatage des devises intégré, il existe plusieurs façons: dans le modèle, dans le code.

Dans le modèle:

<div>{{myCurrencyValue | currency:'XXX'}}</div>

Dans le code:

var formatted = $filter('currency')(myCurrencyValue, 'XXX')

Dans les deux cas, 'XXX' est facultatif [et est un symbole] et utilisera la devise par défaut pour les paramètres régionaux actuels

Exemple: http://jsfiddle.net/TheSharpieOne/N7YuP/

Plus d'informations peuvent être trouvées ici: Currency Docs

[~ # ~] mise à jour [~ # ~]

Exemple avec des codes ISO 4217 utilisant un filtre personnalisé: http://jsfiddle.net/TheSharpieOne/N7YuP/3/

Remarque: ISO 4217 ne dicte pas les symboles monétaires, j'ai utilisé this pour la référence des symboles et les ai mappés.

19
TheSharpieOne