Wir schreiben unser altes Buchhaltungssystem in VB.NET und SQL Server neu. Wir haben ein neues Team von .NET / SQL-Programmierern hinzugezogen, um das Umschreiben durchzuführen. Der größte Teil des Systems ist bereits mit den Dollarbeträgen unter Verwendung von Floats abgeschlossen. Die von mir programmierte Legacy-Systemsprache hatte kein Float, daher hätte ich wahrscheinlich eine Dezimalzahl verwendet.
Was ist Ihre Empfehlung?
Sollte der Datentyp Float oder Decimal für Dollarbeträge verwendet werden?
Was sind einige der Vor- und Nachteile für beide?
Ein Nachteil, der in unserem täglichen Scrum erwähnt wurde, war, dass Sie vorsichtig sein müssen, wenn Sie einen Betrag berechnen, der ein Ergebnis liefert, das über zwei Dezimalstellen liegt. Es hört sich so an, als müssten Sie den Betrag auf zwei Dezimalstellen runden.
Ein weiterer Nachteil ist, dass alle Anzeigen und gedruckten Beträge eine Formatanweisung haben müssen, die zwei Dezimalstellen anzeigt. Ich bemerkte einige Male, wo dies nicht getan wurde und die Mengen nicht korrekt aussahen. (dh 10,2 oder 10,2546)
Ein Profi ist, dass der Float nur 8 Bytes auf der Festplatte belegt, während die Dezimalstelle 9 Bytes belegt (Dezimalzahl 12,2).