8

W Javie, kiedy programujemy pieniądze, zaleca się używanie klasy BigDecimal dla pieniędzy. Czy jest coś podobnego w python? Chciałbym, aby coś, co było zorientowane na obiekt, mogło mieć walutę i kurs wymiany, zostało to zrobione?Co to jest python dla BigDecimal Java?

Przechowuję pieniądze jako liczby całkowite centów (myślę) i pomnożę przez 100, aby otrzymać dolary, ale mam również walutę obcą, więc aukcja na liście zamawianych cen staje się niewygodna, gdy artykuły mają różne waluty, a nawet są wymienione jako cena za godzinę lub za sztukę. Idealnie więc chciałbym dostać klasę za pieniądze w pythonie, która ma kurs wymiany, walutę i rodzaj wyceny, jeśli cena jest za godzinę lub za pozycję.

Więc przypuszczam, że szukam klasy price, a nie klasy money, czy jest już coś takiego? Program gae, którego programuję, nie ma typu danych dziesiętnych, więc mogę użyć liczby całkowitej reprezentującej tylko ułamek lub wymyślić coś w rodzaju własnej reprezentacji dziesiętnej, w której ją zaimplementuję.

+1

Zamawianie według cen w różnych walutach będzie bardzo trudne. Poszczególne waluty wahają się względem siebie, co oznacza, że ​​nie można sortować tego rodzaju wartości z magazynu danych, ponieważ zawsze byłoby to złe. –

+0

@TimHoffman Czy to działa, jeśli sortujesz wszystko według ilości złota, którą możesz kupić? Czy też twierdzisz, że wartości wahają się zbyt często? –

+0

Waluta nie jest jak czas i strefy czasowe ;-) OP powiedział: "ale ja również mam walutę, więc aukcja według ceny staje się niewygodna, gdy artykuły mają różne waluty" w tej sytuacji PO nie ma waluty bazowej (zakładam) po dokonaniu spójnego porównania. Jeśli podstawowa wartość jednego elementu wynosi AU $ 100, a wartość bazowa innego przedmiotu wynosi 100 USD, wówczas w danym momencie z jednoczesnym unoszeniem wokół parzystości z jednego dnia na drugi, kolejność będzie inna. Każda waluta bazowa może na przykład działać w USD, sortować według waluty bazowej i wyświetlać w lokalnej walucie, a następnie sortowanie będzie działać. –

Odpowiedz