Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Aufrunden auf den nöchsten 5 oder 10er (https://www.delphipraxis.net/101405-aufrunden-auf-den-noechsten-5-oder-10er.html)

manfred_h 12. Okt 2007 15:20


Aufrunden auf den nöchsten 5 oder 10er
 
Hallo zusammen

habe ein Problem das ich einen Wert immer auf den nächsten 5er oder 10er
Aufrunden muss.

z.B.
0.5 > 5
2 > 5
5.1 > 10
8 > 10

könte mir da wer helfen?
Habe es schon die Suche Verwendent aber leider nichts gefunden.

Shalom
Manfred

mkinzler 12. Okt 2007 15:22

Re: Aufrunden auf den nöchsten 5 oder 10er
 
Delphi-Quellcode:
gZahl := (Zahl DIV <schritt> + 1) * <schritt>;

Nikolas 12. Okt 2007 15:23

Re: Aufrunden auf den nöchsten 5 oder 10er
 
teil die Zahl durch fünf, schneide die Kommastellen ab (floor) und multipliziere (das Ergebniss+1) mit 5.

dominikkv 12. Okt 2007 15:24

Re: Aufrunden auf den nöchsten 5 oder 10er
 
Delphi-Quellcode:
  if (Zahl mod 5) > 0 then
    Zahl := (Zahl div 5 + 1) *5;
edit: verschrieben^^

Nikolas 12. Okt 2007 15:28

Re: Aufrunden auf den nöchsten 5 oder 10er
 
0,5 div 5 ?

mkinzler 12. Okt 2007 15:29

Re: Aufrunden auf den nöchsten 5 oder 10er
 
Zitat:

Zitat von Nikolas
0,5 div 5 ?

Ergibt 0

dominikkv 12. Okt 2007 15:32

Re: Aufrunden auf den nöchsten 5 oder 10er
 
stimmt... 0.5 div 5 geht nicht
Zitat:

Operator ist auf diesen Operandentyp nicht anwendbar

manfred_h 12. Okt 2007 15:32

Re: Aufrunden auf den nöchsten 5 oder 10er
 
Ihr Seid ja alle Super schnelllll :wink:

Zitat:

Zitat von mkinzler
Delphi-Quellcode:
gZahl := (Zahl DIV <schritt> + 1) * <schritt>;

Habe das zuerst versuch und erhalte die Meldung:
E2015 Operator not applicable to this operand type

Delphi-Quellcode:
(var_1 + var_2 div 5 + 1) * 5;

mkinzler 12. Okt 2007 15:35

Re: Aufrunden auf den nöchsten 5 oder 10er
 
Delphi-Quellcode:
gZahl := (Trunc(Zahl) DIV <schritt> + 1) * <schritt>;

Apollonius 12. Okt 2007 15:37

Re: Aufrunden auf den nöchsten 5 oder 10er
 
Nein, denn da kommt für alle Vielfachen von 5 das falsche Ergebnis raus. Ich schlage vor:
Delphi-Quellcode:
gZahl := Ceil(Zahl/<schritt>) * <schritt>;


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:09 Uhr.
Seite 1 von 3  1 23      

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