Na czym to polega w sklepie
Klasa Decimal z modułu decimal reprezentuje liczby dziesiętne bez błędów binarnych typu float. W e-commerce jest obowiązkowa przy sumowaniu cen, VAT i prowizji marketplace.
Przykład ze sklepu internetowego
Sumujesz trzy pozycje zamówienia - float daje błąd zaokrąglenia, Decimal nie:
from decimal import Decimal
prices = [Decimal("19.99"), Decimal("4.50"), Decimal("0.01")]
total = sum(prices, Decimal("0"))
str(total) # '24.50'
# float: 19.99 + 4.50 + 0.01 może dać 24.499999...
Co zrobić po stronie biznesu
- Kalkulacja marży brutto z wielu pozycji faktury.
- Sumowanie prowizji marketplace bez rozjazdów z ERP.
- Walidacja zgodności total w eksporcie transakcji Stripe.
W skrócie
Dla pieniędzy w Pythonie używaj Decimal od importu - float zostaw do metryk przybliżonych (np. współczynniki konwersji).