Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Real zur nächst kleineren Ganzzahl abrunden (https://www.delphipraxis.net/61466-real-zur-naechst-kleineren-ganzzahl-abrunden.html)

delphiNoob 21. Jan 2006 19:26


Real zur nächst kleineren Ganzzahl abrunden
 
Hallo

Wie der Titel schon sagt, möchte ich einen Real-Wert auf die nächst kleinere Ganzzahl runden, also 2,9 nicht zu 3 sondern zu 2.


Danke schon im vorraus

ichbins 21. Jan 2006 19:32

Re: Real zur nächst kleineren Ganzzahl abrunden
 
Delphi-Quellcode:
setroundmode(rmdown);
round(2.9);
weitere roundmodes:

Code:
rmdown -> immer abrunden (minuszahlen auch)
rmup -> immer aufrunden (minuszahlen auch)
rmtruncate -> Wert abschneiden [-2,9] -> [-2] / [2,9] -> [2]
rmnearest -> normaler Rundungsmodus, bei .5-Werten auf gerade Zahl runden

3_of_8 21. Jan 2006 19:34

Re: Real zur nächst kleineren Ganzzahl abrunden
 
Wie wärs mit trunc(zahl);?

delphiNoob 21. Jan 2006 19:59

Re: Real zur nächst kleineren Ganzzahl abrunden
 
danke für die schnelle antwort, funktioniert perfekt! Danke

Alexander Roth 21. Jan 2006 20:17

Re: Real zur nächst kleineren Ganzzahl abrunden
 
Zitat:

weitere roundmodes:

Code: markieren
rmdown -> immer abrunden (minuszahlen auch)
rmup -> immer aufrunden (minuszahlen auch)
rmtruncate -> Wert abschneiden [-2,9] -> [-2] / [2,9] -> [2]
rmnearest -> normaler Rundungsmodus, bei .5-Werten auf gerade Zahl runden
Na ja bisschen selten und umständlich.


Häufig gebrauch und auch kurz sind diese hier:

- trunc(real) Alle Nachkommastellen werden abgerundet und das ist das gleiche wie immer abrunden
- round(zahl) Rundet nicht mathematisch richtig sondren siehe unten (...richtiger Mist...)
- roundto(zahl,-i) Rundet bis zur i-ten Stelle (geht auch im positiven bereich)

Khabarakh 21. Jan 2006 21:36

Re: Real zur nächst kleineren Ganzzahl abrunden
 
Zitat:

Zitat von Alexander Roth
- round(zahl) Rundet mathematisch richtig

Nope, Round verwendet das sogenannte "Banker´s Rounding".

3_of_8 21. Jan 2006 21:38

Re: Real zur nächst kleineren Ganzzahl abrunden
 
Was ist da der Unterschied?

AFAIK runden beide bei Nachkommastelle <5 ab und bei >=5 auf.

Grishnak 21. Jan 2006 21:42

Re: Real zur nächst kleineren Ganzzahl abrunden
 
Ich habe Bankkaufmann gelernt, als Kassierer und als Kreditberater gearbeitet, aber von diesem "Bankers Rounding" habe ich das erstemal in der Delphi-Hilfe gelesen! Welcher "Banker" wo auf der Welt verwendet diese Sch**** eigentlich? Und für was? :wall:

@3_of_8: 1,5 und 2,5 würde zu 2 gerundet (nämlich zur nächsten geraden Zahl)! :roteyes:

3_of_8 21. Jan 2006 21:47

Re: Real zur nächst kleineren Ganzzahl abrunden
 
Was für einen Sinn macht es, zur nächsten geraden Zahl zu runden?

xaromz 21. Jan 2006 21:49

Re: Real zur nächst kleineren Ganzzahl abrunden
 
Hallo,
Zitat:

Zitat von 3_of_8
Was für einen Sinn macht es, zur nächsten geraden Zahl zu runden?

Siehe Wikipedia

Gruß
xaromz


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:15 Uhr.
Seite 1 von 2  1 2      

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