Toon posts:

delphi floatingpoint error

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een probleempje met het afbakenen van de extended waarden.

Ik heb nu bijv dit stukje code. Maar als de input van z hoger of lager is dan de extended waarde (+of- 3.4E4932)geeft hij alsnog een floating point error:(. Hoe kan ik dit voorkomen?

var
x : extended;
y : extended;
z : extended;

begin
x := strtofloat (edit1.text);
y := strtofloat (edit2.text);
z := x + y;
if (z < (-3.4E500)) then begin
error1.ShowModal;
end else if (z > (3.4E500)) then begin
error2.showmodal;
end else begin
label1.caption := floattostr (z);
end;
end;

  • Knutselsmurf
  • Registratie: December 2000
  • Laatst online: 08-09 14:31

Knutselsmurf

LED's make things better

Je moet gebruik maken van de try...except-constructie.

- This line is intentionally left blank -


  • Kool
  • Registratie: September 1999
  • Niet online
Nogal wiedes dat je die foutmelding krijgt. Je kent immers eerst de waarde aan Z toe en daarna kijk je pas of het binnen een extended valt. :?
Inderdaad try...excepten.

Verwijderd

Topicstarter
Bedankt!

Ik denk dat dit wel gaat lukken. Ik was teveel vast gepint op de if statements.

Maar in ieder geval staat de richtingswijzer weer de goede kant op :).