Sobes.tech
Middle

Welcher Datentyp ist am besten geeignet, um Geldwerte zu speichern und zu verarbeiten?

sobes.tech KI

Antwort von AI

Dezimal.

Er hat eine hohe Genauigkeit, speichert bis zu 28-29 signifikante Ziffern und ist für Finanzberechnungen gedacht, bei denen Genauigkeit entscheidend ist. Im Gegensatz zu float und double, die eine binäre Darstellung verwenden und Rundungsfehler bei Dezimalzahlen verursachen können, verwendet decimal eine Dezimaldarstellung, die solche Probleme ausschließt.

Beispiel für die Verwendung:

// Deklaration einer decimal-Variable zur Speicherung eines Geldwerts
decimal price = 19.99m;

// Durchführung arithmetischer Operationen mit Geldwerten
decimal taxRate = 0.20m;
decimal total = price * (1 + taxRate);

// Exakte Ausgabe des Ergebnisses
Console.WriteLine($"Gesamtpreis: {total}"); // Ausgabe: Gesamtpreis: 23,988

Vergleich mit anderen Datentypen:

Datentyp Ungefährer Wertebereich Genauigkeit Für Geldwerte geeignet?
float ±1.5 x 10⁻⁴⁵ bis ±3.4 x 10³⁸ 7 Dezimalstellen Nein
double ±5.0 x 10⁻³²⁴ bis ±1.7 x 10³⁰⁸ 15-17 Dezimalstellen Nein
decimal ±1.0 x 10⁻²⁸ bis ±7.9228 x 10²⁸ 28-29 Dezimalstellen Ja

Die Verwendung von decimal gewährleistet die erforderliche Genauigkeit und Zuverlässigkeit bei der Arbeit mit Finanzdaten und verhindert Rundungsfehler, die bei Verwendung von Gleitkommatypen auftreten können.