AW: ungültiger Gleitkommawert?
27. Dez 2012, 16:57
@Eltonmaster
Ohne mir jetzt deinen Code angeguckt zu haben, möchte ich dich mit einer Funktion bekannt machen. Du kennst wohl die Funktion StrToFloat. Diese Funktion ist grundsätzlich fehleranfällig, genau wie StrToInt, denn die Funktionen verlangen gültige Zahlen als String (die eine Real, die andere Integer).
Es gibt zwei Möglichkeiten einer Fehlermeldung vorzubeugen: die eine ist den String vorher auf einen gültigen Wert zu prüfen und notfalls zu reagieren. Diese Methode ist meiner Meinung nach die Bessere. Die zweite Methode ist statt StrToFloat die Funktion StrToFloatDef zu nehmen. Bei StrToFloatDef kann man für den Fall, dass der String kein gültiger Wert ist, einen Default-Wert (Ersatz-Wert) nehmen. Allerdings, auch wenn hier in dem Fall dann keine Fehlermeldung mehr kommt, weiß man nie so genau ob es jetzt mit dem richtigen Wert gerechnet wurde oder Defaultwert. Also mit Bedacht einsetzten.
x := StrToFloatDef('ca. 3,14', 3.1415926);
|