Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Runden mit RoundTo und SipleRoundTo (https://www.delphipraxis.net/108796-runden-mit-roundto-und-sipleroundto.html)

Tazidus 19. Feb 2008 19:33


Runden mit RoundTo und SipleRoundTo
 
Hallo,

in DElphi gibt es zwei Rundungsfunktionen, die mich interessieren.

Einmal das "Bankers Rounding" und einmal das "kaufmännische".

Beim RoundTo steht in der Hilfe:

RoundTo(1.235,2) = 1,24
RoundTo(1.245,2) = 1,24

Von der theorie her auch richtig. So sollte es bei "Bankers Rounding" auch sein.
Genau das brauche ich auch, nur bei mir sieht es so aus:

RoundTo(1.235,2) = 1,24
RoundTo(1.245,2) = 1,25

Und dies verstehe ich nicht. Diese Ausgabe ähnelt dem Runden mit "SimpleRoundTo".


Kann mir einer dieses Verhalten erklären bzw. sagen was ich einstellen uss, dait mein Delphi so rundet wie in der Hilfe steht?

Freue mich

Gruß
Daniel

zecke 18. Apr 2008 00:30

Re: Runden mit RoundTo und SipleRoundTo
 
:hi:

In der Hilfe steht auch etwas von SetRoundMode. Schau dir das mal an.

RavenIV 18. Apr 2008 07:53

Re: Runden mit RoundTo und SipleRoundTo
 
Zitat:

Zitat von Tazidus
Von der theorie her auch richtig. So sollte es bei "Bankers Rounding" auch sein.
Genau das brauche ich auch, nur bei mir sieht es so aus:

RoundTo(1.235,2) = 1,24
RoundTo(1.245,2) = 1,25

In der Delphi-Hilfe (D7 und D2007) steht vor der zwei nach dem Komma ein Minuszeichen.
Also so:
RoundTo(1,235, -2) 1.24
RoundTo(1,245, -2) 1.24

Vielleucht kommt dann das raus, was Du erwartest?

Tazidus 19. Apr 2008 16:05

Re: Runden mit RoundTo und SipleRoundTo
 
Hallo,

es steht in der Hilfe wirklich eine "-2" da.
In meinem Programm aber auch.

Un es passiert nicht das, was methematisches Runden oder "Bankers Rounding" heißt, nämlich das Runden zur nächsten geraden Zahl.

Wenn man
Delphi-Quellcode:
RoundTo (1.235,-2)
nimmt, sollte 1.24 rausßkommen - soweit auch OK
aber bei
Delphi-Quellcode:
RoundTo (1.245,-2)
müsste 1.24 rauskommen. Bei mir aber nicht -> (1.25).

Und mit
Delphi-Quellcode:
SetRoundMode
habe ich es auch versucht, funktioniert wie beschrieben, hilft aber bei meinem Problem nicht weiter.

Was ist bei mir los. Warum rundet Delphi nicht so wie in der Hilfe beschrieben?

RavenIV 21. Apr 2008 07:59

Re: Runden mit RoundTo und SipleRoundTo
 
Zitat:

Zitat von Tazidus
Was ist bei mir los. Warum rundet Delphi nicht so wie in der Hilfe beschrieben?

Vielleicht weil die Hilfe falsch ist?
Und eigentlich macht es auch keinen Sinn, so wie es in der Hilfe steht...


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz