Einzelnen Beitrag anzeigen

Gorlo

Registriert seit: 6. Dez 2014
3 Beiträge
 
#16

AW: Auf 2 stellen Runden

  Alt 12. Okt 2017, 14:45
Dazu nochmal begriff Klarstellung:
Banker's Rounding = Mathematisches Runden
Unser in der schule gelerntes Runden ist das Kaufmännische Runden.
(https://de.wikipedia.org/wiki/Rundung)

In Delphi(5-7) (andere Versionen kann ich gerade nicht nachschauen) nutzt die normale Rundungsfunktion leider das Banker's Rounding (Mathematische Runden).
Fakt ist ICH benötige das Kaufmännisches Runden (für Rechnungen (Einzelpreise 5 stellig da unter 1 Cent somit kein Currency möglich)) und das ist in Delphi(5-7) so nicht einfach möglich.
Auch aus dem Grund da die Double nicht genau genug sind.

Beispiel getestet in Delphi 6:
RoundTo(2194.825, -2) = 2194.82 | Benötigt wird aber 2194.83
Ich habe somit eine Funktion gebaut die mir den wegfallenden Dezimalwert in ein Integer umwandelt den ich dann auf 0-4 bzw. 5-9 prüfen kann. Diese Funktion prüfe ich gerade ob diese auch so funktioniert wie sie soll (was ohne Referenz schwer ist).
  Mit Zitat antworten Zitat