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.

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny