Middle
Jaký datový typ je nejvhodnější pro ukládání a práci s peněžními hodnotami?
sobes.tech AI
Odpověď od AI
Desetinné.
Má vysokou přesností, umožňuje uložit až 28-29 významných číslic a je určen pro finanční výpočty, kde je přesnost kritická. Na rozdíl od float a double, které používají binární reprezentaci a mohou vést k zaokrouhlovacím chybám při práci s desetinnými čísly, decimal používá desetinnou reprezentaci, což tyto problémy vylučuje.
Příklad použití:
// Deklarace proměnné typu decimal pro uložení peněžní hodnoty
decimal price = 19.99m;
// Provádění aritmetických operací s peněžními hodnotami
decimal taxRate = 0.20m;
decimal total = price * (1 + taxRate);
// Zobrazení přesného výsledku
Console.WriteLine($"Celková cena: {total}"); // Výstup: Celková cena: 23,988
Porovnání s jinými datovými typy:
| Typ dat | Přibližný rozsah hodnot | Přesnost | Vhodné pro peněžní hodnoty? |
|---|---|---|---|
float |
±1.5 x 10⁻⁴⁵ do ±3.4 x 10³⁸ | 7 desetinných míst | Ne |
double |
±5.0 x 10⁻³²⁴ do ±1.7 x 10³⁰⁸ | 15-17 desetinných míst | Ne |
decimal |
±1.0 x 10⁻²⁸ do ±7.9228 x 10²⁸ | 28-29 desetinných míst | Ano |
Použití decimal zajišťuje požadovanou přesnost a spolehlivost při práci s finančními daty, předchází chybám zaokrouhlení, které mohou nastat při použití typů s plovoucí desetinnou čárkou.