Und immer schön die Exceptions abfangen. Keine der oben genannten Routinen arbeitet nämlich 100% sauber. Probier mal (mit d als double)
TryStrToFloat('1e999', d);
Das liefert nämlich nicht einfach nur false (1e999 paßt nicht in einen double), sondern löst eine
Exception aus. Das Problem ist, daß 1e999 in einen extended paßt. Die ganzen Routinen wandeln erst in ein extended um, und dann wird ohne Rücksicht auf Verluste das Ergebnis in einen double kopiert...
Und wie ich gehört habe, hat Val() zum letztenmal unter Turbo-Pascal sauber funktioniert...
Vielleicht ist man am Besten dran mit den Routinen, bei denen man immer eine
Exception erwartet, wenn die Umwandlung nicht klappt. Dann wird man wenigstens nicht kalt erwischt.
Gruß
Michael