Sobes.tech
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