Jak można przeczytać w całym Internecie using floats to represent currency is a very bad idea. Zalecaną najlepszą praktyką jest użycie liczb całkowitych reprezentujących centy. W ten sposób możesz bezpiecznie nie napotkać żadnych problemów z precyzją, szczególnie jeśli robisz jakieś obliczenia.Używanie filtru waluty angulars z liczbą centów
Ponieważ jestem naiwny i zbyt optymistyczny, wybrałem - pomimo wszystkich ostrzeżeń - spływy do reprezentowania walut w mojej aplikacji. Na początku całkiem nieźle. Teraz napotykam na różne problemy (szczególnie z porównaniem) i chcę przełączać się z liczb zmiennoprzecinkowych na liczby całkowite.
Niestety kątowe nie obsługuje liczb całkowitych jako wartości wejściowej dla filtra waluty (przynajmniej z tego co wiem). Jestem trochę zaskoczony, że wygląda na to, że nikt nie wymyślił tego do tej pory (brak odpowiadających problemów na Githubie, nic na SO itd.).
Czy są jakieś sprawdzone metody? Można myśleć o jakichkolwiek downsides prosty filtr jak to może mieć:
angular
.module('myApp')
.filter('cents', ['$filter', function($filter) {
return function(cents, symbol, fractionSize) {
var asFloat = cents/100;
return $filter('currency')(asFloat, symbol, fractionSize);
};
}]);
Jakie wejście/wyjście oczekujecie? – developer033
Wejście prądowe: '(float) 5,97' Wyjście:' 5,97 € '. Wymagane wejście: '(int) 597' Wynik poszukiwany:' 5,97 € ' –