Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit Großen Zahlen (https://www.delphipraxis.net/10470-problem-mit-grossen-zahlen.html)

Viperb0y 19. Okt 2003 13:28


Problem mit Großen Zahlen
 
Also, ich habe ein Problem:

Hier:

Delphi-Quellcode:
procedure TForm3.Button1Click(Sender: TObject);
var
zahl123: double;
begin
zahl123 := strtoint(LabeledEdit1.Text);
if zahl123>1000000000
then begin
ShowMessage('Diese Zahl ist zu hoch!');
exit;
end;
end;
Das problem ist; wenn die zahl ÜBER 1000000000 stürzt das proggie ab und sagt: wert ist kein gültiger integer wert!

Gibt es etwas umd das zu ändern?

Christian Seehase 19. Okt 2003 13:30

Re: Problem mit Großen Zahlen
 
Moin Viperb0y,

nimm' mal StrToInt64.

Dagon 19. Okt 2003 13:31

Re: Problem mit Großen Zahlen
 
Du musst die Zeile
Delphi-Quellcode:
zahl123 := strtoint(LabeledEdit1.Text);
in
Delphi-Quellcode:
zahl123 := StrToFloat(LabeledEdit1.Text);
abändern.

CalganX 19. Okt 2003 13:31

Re: Problem mit Großen Zahlen
 
Hi,
double ist aber eher Kategorie reelle Zahlen. ;)
Wenn du also ganze Zahlen verwenden willst, dann nimm longint und wenn dir das auch nicht hilft, dann dürfte int64 groß genug sein. ;)

Chris

Luckie 19. Okt 2003 13:31

Re: Problem mit Großen Zahlen
 
Zwei Sachen:
Deine Variable ist als double deklariert, du konvertierst den Text aber zu einem Integer. da sollte dir der Compiler eigentlich was zu sagen. :roll:

Größer als Integer ist noch Int64.

toms 19. Okt 2003 13:32

Re: Problem mit Großen Zahlen
 
Das Problem liegt hier.

Zitat:

strtoint(LabeledEdit1.Text);
Wenn die Zahl in LabeledEdit1.Text zu gross ist, kann sie nicht
in einen Integerwert umgewandelt werden.

Abhilfe: Try...Except oder TryStrToConvUnit() verwenden.

Alexander 19. Okt 2003 13:32

Re: Problem mit Großen Zahlen
 
Ein Integer sollte eigentlich bis 2147483647 gehen, nimm mal Int64 und StrToInt64

Edit: Oh mein Gott wieviel haben da in den 2 Minuten gepostet :shock:

CalganX 19. Okt 2003 13:33

Re: Problem mit Großen Zahlen
 
Hi Luckie,
Zitat:

Zitat von Luckie
Deine Variable ist als double deklariert, du konvertierst den Text aber zu einem Integer. da sollte dir der Compiler eigentlich was zu sagen. :roll:

Nein. Denn Integer sind kompatibel und ein TEIL von Real oder Double etc.

Chris

Viperb0y 19. Okt 2003 13:33

Re: Problem mit Großen Zahlen
 
Zitat:

Zitat von the_master
Du musst die Zeile
Delphi-Quellcode:
zahl123 := strtoint(LabeledEdit1.Text);
in
Delphi-Quellcode:
zahl123 := StrToFloat(LabeledEdit1.Text);
abändern.

Danke funzt jetzt!


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:27 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