AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Runden mit RoundTo und SipleRoundTo

Ein Thema von Tazidus · begonnen am 19. Feb 2008 · letzter Beitrag vom 21. Apr 2008
Antwort Antwort
Tazidus

Registriert seit: 29. Mär 2005
Ort: Hilchenbach
44 Beiträge
 
#1

Runden mit RoundTo und SipleRoundTo

  Alt 19. Feb 2008, 19:33
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
Es gibt nichts Gutes, außer man tut es!
  Mit Zitat antworten Zitat
Benutzerbild von zecke
zecke

Registriert seit: 17. Jan 2004
494 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Runden mit RoundTo und SipleRoundTo

  Alt 18. Apr 2008, 00:30


In der Hilfe steht auch etwas von SetRoundMode. Schau dir das mal an.
mfg zecke
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Runden mit RoundTo und SipleRoundTo

  Alt 18. Apr 2008, 07:53
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?
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Tazidus

Registriert seit: 29. Mär 2005
Ort: Hilchenbach
44 Beiträge
 
#4

Re: Runden mit RoundTo und SipleRoundTo

  Alt 19. Apr 2008, 16:05
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 RoundTo (1.235,-2) nimmt, sollte 1.24 rausßkommen - soweit auch OK
aber bei RoundTo (1.245,-2) müsste 1.24 rauskommen. Bei mir aber nicht -> (1.25).

Und mit 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?
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Runden mit RoundTo und SipleRoundTo

  Alt 21. Apr 2008, 07:59
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...
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:00 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