Przejdź do treści

Python. Klasa decimal.Decimal(). Precyzyjne sumowanie przychodu sklepu.

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).