Junior
Koja je razlika između tipova podataka decimal i float u Pythonu?
sobes.tech АИ
Одговор од АИ
float koristi binarnu reprezentaciju s pokretnom zarezom, što može dovesti do netočnosti pri radu s decimalnim brojevima zbog svojstava konverzije u binarni sustav. decimal pohranjuje decimalne brojeve točno, bez zaokruživanja, što ga čini poželjnim za financijske izračune i druge zadatke koji zahtijevaju visoku točnost. decimal je sporiji i zauzima više memorije od float.
# Primjer s float
a = 0.1 + 0.1 + 0.1
print(f"{a=}") # a=0.30000000000000004
# Primjer s decimal
from decimal import Decimal
b = Decimal('0.1') + Decimal('0.1') + Decimal('0.1')
print(f"{b=}") # b=Decimal('0.3')
| Značajka | float |
decimal |
|---|---|---|
| Točnost | Približna (binarna reprezentacija) | Točna (decimalna reprezentacija) |
| Brzina | Brža | Sporija |
| Memorija | Manje | Više |
| Upotreba | Znanstveni izračuni gdje točnost nije kritična | Financijski izračuni, precizni izračuni |