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.