Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Datový typ pro práci s penězi

Ahoj,

kvůli binární chybě při počítání s desetinnými čísly by se měl hlavně při práci s penězi používat speciální datový typ, který tuším ve většině jazyků je, nebo existuje jiná náhrada. Ten speciální datový typ je Decimal.
Běžně tedy ve floatu např. 0.2 + 0.1 = 0.30000000000000004 a u Decimal to je správně Decimal('0.2') + Decimal('0.1') = Decimal('0.3')

V mnoha knihách, článcích a i od lidí mám právě informaci, že typ Decimal by se měl používat jen při té práci s peněžními částkami, kde je potřeba mít opravdu přesné počty.
Nevím, jestli na to mám špatný pohled, ale já bych nejradši ten datový typ Decimal používal pořád, ať už pro práci s penězi, tak i pro obyčejné počty, protože ani při běžné práci s počty se mi nelíbí, že se občas ta binární chyba projeví na výsledku a já pak musím zaokrouhlovat. Podporuje Decimal všechny matematické operace jako obyčejný float, nebo je něco, co se s Decimal nedá dělat?
Nebo je to špatný návyk to používat?

Věnuju se programování krátkou dobu, takže budu rád za vaše rady a zkušenosti s tím.

Díky.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Pokud pocitas s penezma na halere (procenta, urokovani) a delas komercni appku, tak vzdy Decimal...
MaSo 04.07.2021 12:31
MaSo
To urcite ano, pokud nejde o nejakou zvlaste oduvodnenou vyjimku. Ale IMHO otazka znela jinak - zda… poslední
gilhad 04.07.2021 19:01
gilhad

Zpět do poradny Odpovědět na původní otázku Nahoru