Es gibt generell zwei Möglichkeiten eine Gleitkommazahl in eine ganze Zahl umzuwandeln. Man kann entweder runden oder einfach die Nachkommastellen abschneiden, also casten.
Wenn man in Delphi einen Double Wert in einen Integer Wert casten möchte könnte man auf die Idee kommen das folgendermaßen zu tun:
...
var
int : Integer;
dbl : Double;
begin
int := Integer( dbl );
...
Das wird der Compiler aber nicht durchgehen lassen, stattdessen funktioniert folgender Code
...
var
int : Integer;
dbl : Double;
begin
int := Trunc( dbl ); // Trunc(1.9) results in 1
...
Möchte man aus einem Double Wert einen Integer machen und die Nachkommastellen dabei runden, geht dies wie folgt:
...
var
int : Integer;
dbl : Double;
begin
int := Round( dbl ); // Round(1.9) results in 2
...
Weitere Möglichkeiten für die Typumwandlung von Double in Integer sind zwei Methoden, die in der Unit Math zu finden sind: Ceil und Floor. Floor gibt den größten Integer Wert zurück der kleiner als der Übergebene Double Parameter ist und Ceil erledigt das Gegenteil. Hier ein paar Beispiele:
Floor(-2.8); // = -3
Floor(2,8); // = 2
Floor(-1,0); // = -1
Ceil(-2.8); // = -2
Ceil(2,8); // = 3
Ceil(-1,0); // = -1
This entry was posted on Mar 06, 2007 at 01:29:54 and is filed under Delphi. You can follow any responses to this entry through the RSS 2.0 feed, or leave a response (below) .
Bisher keine Kommentare für diesen Eintrag...
Kommentare sind für diesen Beitrag geschlossen.