Mise à jour : à partir de la version 1.3.0 - currencyFilter : ajouter fractionSize comme paramètre optionnel, voir commettre et mis à jour plunker
{{10 | currency:undefined:0}}
Notez que c'est le deuxième paramètre, vous devez donc passer undefined pour utiliser le symbole de la monnaie locale actuelle.
Mise à jour : Notez que cela ne fonctionne que pour les symboles monétaires qui sont affichés avant le nombre. À partir de la version 1.2.9 c'est toujours codé en dur avec 2 décimales.
Ici est une version modifiée qui utilise une copie de formatNumber d'angular pour activer 0 fractionSize pour la monnaie.
Normalement, cela devrait être configurable soit dans la définition de la locale, soit dans l'appel au currencyFilter, mais pour l'instant( 1.0.4 ), il est codé en dur avec deux décimales.
Filtre personnalisé :
myModule.filter('noFractionCurrency',
[ '$filter', '$locale',
function(filter, locale) {
var currencyFilter = filter('currency');
var formats = locale.NUMBER_FORMATS;
return function(amount, currencySymbol) {
var value = currencyFilter(amount, currencySymbol);
var sep = value.indexOf(formats.DECIMAL_SEP);
if(amount >= 0) {
return value.substring(0, sep);
}
return value.substring(0, sep) + ')';
};
} ]);
Modèle :
<div>{{Price | noFractionCurrency}}</div>
Ejemplo:
Mise à jour : correction d'un bug lors de la manipulation de valeurs négatives
2 votes
Malheureusement non. Le filtre de devise utilise un appel de numéro de format codé en dur utilisant 2 décimales. La seule solution à ce jour est d'ajouter un filtre personnalisé