Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.586 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Geldbeträge und die Datenbank

  Alt 24. Sep 2023, 23:17
Es ist halt die Frage, ob mit 4 Nachkommastellen in der DB speichern und erst bei der Ausgabe runden oder gleich wenn die Daten entstehen?
Ich würde sofort runden, wenn die Daten nicht mehr weiter zur Berechnung benötigt werden.

Insbesondere hast du ansonsten das Problem, dass du bei Summen in der Datenbank andere Werte bekommst als die, die auf der Rechnung stehen. Wenn die Werte pro Zeile gerundet gespeichert sind, gibt es auch keine relevanten Rundungsdifferenzen mehr, weil die Datentyp-Ungenauigkeit einfach viel geringer ist, zumindest wenn man mit ausreichend Nachkommastellen speichert. Bei Currency und nur 4 Nachkommastellen im Speicher könnte das problematischer sein, das müsste man genauer anschauen.

Wenn man aber davon ausgeht, dass man 2 Nachkommastellen haben sollte und darauf ggf. runden
sollte passt das ja nicht so ganz zusammen. Da gibt's dann immer mal wieder Abweichungen im
Centbereich.
Hast du vielleicht ein Beispiel? Die Differenzen können ja an verschiedenen Stellen entstehen und je nachdem wie du rechnest, müsste man an anderen Stellen ansetzen. Entscheidend ist auf jeden Fall, dass immer zeilenweise Brutto = Netto + Steuer passt und es da keine Differenzen gibt.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat