Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#21

AW: Welcher Befehl rundet wie "Round" in Borland C++ ?

  Alt 22. Nov 2010, 10:18
wie wäre es, wenn du uns mal mitteilst, wie genau gerundet werden soll?
Wurde schon mehrmals beantwortet... genauso runden wie die Delphi Funktion Round() rundet
Nicht ganz: round(8.5) = 8 aber ceil(8.5+0.5) = 9.
Genau und das sagte ich ja schon.

Das Round vom Delphi (also renauer die Recheneinheit des PCs) rundet so wie es die Banken machen.
Code:
Round(0,49) = 0
Round(0,50) = 0 v
Round(0,51) = 1
Round(1,49) = 1
Round(1,50) = 2 ^
Round(1,51) = 2
Round(2,49) = 2
Round(2,50) = 2 v
Round(2,51) = 3
Round(3,49) = 3
Round(3,50) = 4 ^
Round(3,51) = 4
Round(4,49) = 4
Round(4,50) = 4 v
Round(4,51) = 5
Das soll irgendwie gerechter sein, da, wenn man mit einer festen Anzahl an Nachkommastellen arbeitet, sonst mehr auf als abgerundet wird.
Denn es gibt eine ungerade Anzahl an Werten. (ab 0.5 Einer mehr)

mathematisches Runden
abdunden: 0.1 0.2 0.3 0.4
aufrunden: 0.5 0.6 0.7 0.8 0.9
nicht runden: 0.0

dieses Banken-Runden
abdunden: 0.1 0.2 0.3 0.4
im wechsel auf oder ab: 0.5
aufrunden: 0.6 0.7 0.8 0.9
nicht runden: 0.0
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (22. Nov 2010 um 10:23 Uhr)
  Mit Zitat antworten Zitat