Jakiej klasy należy użyć do reprezentowania pieniędzy, aby uniknąć większości błędów zaokrąglania?Jaką klasę użyć do reprezentacji pieniędzy?
Czy powinienem używać Decimal
, czy też prostego wbudowanego number
?
Czy istnieje klasa Money
z obsługą konwersji walut, z której mógłbym skorzystać?
Jakieś pułapki, których powinienem unikać?
Zawsze uważałem, że przeliczanie walut jest po prostu mnożeniem. – SilentGhost
@SilentGhost: Tak i nie. Musisz pamiętać, * jak * użyjesz wartości, które posiadasz. Jak to zrobić, gdy w zeszłym roku zapłaciłeś U $ S2000 + AR 6300 + 1500 USD, aw tym roku zapłaciłeś U4 S4000 + AR 1200 $ + 500 €?Jest wiele rzeczy, które musisz wziąć pod uwagę, więc obiekt 'Money' musiałby zapisać wartość historyczną * i * aktualną wartość. – voyager
Pułapki, których należy unikać: używanie liczb zmiennoprzecinkowych. Zobacz przestrzeń biurową. –