Wie Sie über das Internet using floats to represent currency is a very bad idea lesen können. Die empfohlene bewährte Methode besteht darin, Ganzzahlen zu verwenden, die stattdessen Cents darstellen. Auf diese Weise können Sie sicher keine Präzisionsprobleme bekommen, besonders wenn Sie einige Berechnungen durchführen.Verwenden Sie Angulars Währungsfilter mit einer ganzen Zahl von Cent
Da ich naiv und viel zu optimistisch bin, entschied ich mich trotz aller Warnung, die Währungen in meiner App darzustellen. Es ging zunächst ganz gut. Jetzt stoße ich auf alle Arten von Problemen (besonders mit Vergleich) und möchte von Floats zu Integers wechseln.
Leider Winkel unterstützt nicht Cent Ganzzahlen als Eingabe für die Währungsfilter (zumindest soweit ich weiß). Ich bin ein bisschen erstaunt, dass es so aussieht, als wäre noch niemand dazu gekommen (keine entsprechenden Ausgaben auf GitHub, nichts auf SO etc.).
Gibt es Best Practices? Könnten Sie irgendwelche Nachteile könnte ein einfacher Filter denken wie dieses:
angular
.module('myApp')
.filter('cents', ['$filter', function($filter) {
return function(cents, symbol, fractionSize) {
var asFloat = cents/100;
return $filter('currency')(asFloat, symbol, fractionSize);
};
}]);
Was ist die Eingabe/Ausgabe, die Sie erwarten? – developer033
Stromeingang: '(float) 5.97' Ausgang:' 5,97 € '. Gesuchter Eingang: '(int) 597' Gesuchter Ausgang:' 5,97 € ' –