Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Ganze Zahl runden (https://www.delphipraxis.net/86264-ganze-zahl-runden.html)

BBoy 15. Feb 2007 19:55

Re: Ganze Zahl runden
 
nun doch noch eine Frage zum runden ...

wie kann man immer aufrunden ???
Habe die Zahl: 1017 und die soll zu 1100 gerundet werden. Es soll eigentlich IMMER zum nächsten 100er aufgerundet werden.

ErazerZ 15. Feb 2007 20:04

Re: Ganze Zahl runden
 
Delphi-Quellcode:
uses Math;

..
RoundTo(Zahl, 2);
..

BBoy 15. Feb 2007 20:11

Re: Ganze Zahl runden
 
Will immer aufrunden !!

Dies bringt mir bei 1017 aber 1000, rundet also normal.

BBoy 15. Feb 2007 20:17

Re: Ganze Zahl runden
 
hat sich erledigt, mit SetRoundmode geht das dann ...
Danke.

Manni 14. Feb 2011 18:24

AW: Ganze Zahl runden
 
Hallo Leute,

also ich hab's so gemacht :

function Runde(N, R : Integer) : string;
begin
repeat inc(N);
until N mod R = 0;
Result := IntToStr(N);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
edit2.Text := Runde(StrToInt(edit1.Text), 5); // auf 5 runden, 10 auf 10 runden
end;

Grüße Manni

BUG 14. Feb 2011 18:56

AW: Ganze Zahl runden
 
Zitat:

Zitat von Manni (Beitrag 1081692)
Hallo Leute,

also ich hab's so gemacht :

Das Problem bei deiner Variante ist, das die Schleife im schlimmsten Fall R-1 mal durchgelaufen wird.

Im Grunde führst du da eine Addition mit Hilfe von inc() und einer Schleife aus.
Delphi-Quellcode:
function Runde(N, R : Integer) : Integer;
var rest: integer;
begin
  rest := N div R;
  if (rest <> 0)
    then result := N + (R-rest);
    else result := N;
end;

himitsu 14. Feb 2011 22:28

AW: Ganze Zahl runden
 
Ich hätt noch eine mathematische Lösung, nur mit/für Integern.

Delphi-Quellcode:
// aufrunden
x := x + (step - x mod step) mod step;


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:19 Uhr.
Seite 2 von 2     12   

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