Come potete leggere su Internet using floats to represent currency is a very bad idea. La migliore pratica consigliata è quella di utilizzare numeri interi che rappresentano invece i centesimi. In questo modo sei sicuro di non incorrere in problemi di precisione, soprattutto se stai facendo alcuni calcoli.Utilizzo del filtro di valuta degli angoli con un numero intero di centesimi
Dato che sono ingenuo e troppo ottimista, ho scelto, nonostante tutti gli avvisi, di rappresentare le valute nella mia app. All'inizio andò abbastanza bene. Ora sto incontrando tutti i tipi di problemi (specialmente con il confronto) e voglio passare da float a interi.
Purtroppo angolare non supporta cent interi come input per il filtro di valuta (almeno per quanto ne so). Sono un po 'stupito che sembra che nessuno sia arrivato fino ad ora (nessun problema corrispondente su github, niente su SO, ecc.).
Esistono buone pratiche? Potresti pensare di eventuali aspetti negativi di un filtro semplice come questo potrebbe avere:
angular
.module('myApp')
.filter('cents', ['$filter', function($filter) {
return function(cents, symbol, fractionSize) {
var asFloat = cents/100;
return $filter('currency')(asFloat, symbol, fractionSize);
};
}]);
Qual è l'input/output che ti aspetti? – developer033
Ingresso corrente: '(float) 5.97' Output:' 5,97 € '. Input desiderato: '(int) 597' Output desiderato:' 5,97 € ' –