Einzelnen Beitrag anzeigen

Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.041 Beiträge
 
Delphi XE2 Professional
 
#3

Re: verzweifle an fließkommazahlen....:-(

  Alt 28. Dez 2005, 08:04
Zitat von DJ_Tom:
Hallo,

wenn ich mir das zur Laufzeit ansehe, was da so drin steht dann ist das z.b. sowas hier: 2.121995791e-314

Jetzt möchte ich diese Zahl mit einer Integer bzw. Longint vergleichen aber egal was ich anstelle ob ich versuche die mit round auf ne Integer-Zahl zu runden oder einfach per floattostr zu nem string konventieren will bekomme ich immer den fehler:

Üngültige Gleitkommaoperation

Wie kann man so ne Zahl handlen damit man sie mit ner Integer-zahl vergleichen kann...bzw. wie bekomme ich die Integer-Zahl auf dieses Format damit ich sie direkt vergleichen kann...

Bis denne....
Bei mir wird die oben genannte zahl ohne jede Fehlermeldung
a) mit Round in einen Integerwert (nämlich 0) umgewandelt
b) mit FloatToStr korrekt ausgegeben.

Bei anderen Werten, (die den Bereich eines Integers überschreiten) wird natürlich die Round Funktion nicht mitspielen, FloatToStr sollte aber funktionieren. Aber es gibt ein paar spezielle Werte, bei denen die FPU eine Exception auslöst.

Zitat:
Ich schreibe mir in das folgende Array ein paar Speicherinhalte
Ich vermute, Du hast keine korrekten Double-Werte, sondern, wie auch immer, irgendwelche Daten in das Array gestellt. Nicht jeder Wert der im Speicher stehen kann wird auch als gültige Zahl interpretiert.

Velleicht beschreibst Du mal, wie Du das Array gefüllt hast.
  Mit Zitat antworten Zitat