Immer schön dran denken was ein Komma ist. Hier ist Dazimaltrennzeichen ein ",", irgendwo anders ein ".". In deiner Zahl hast du ein Punkt als Dazimaltrennzeichen. Das ist in Deutschland nicht üblich. Entweder du änderst den Punkt in Komma, also aus
mach
, oder du änderst die Foramtsetings. D. h. du sagst StrToFloat, dass bei dir der Punkt das Dazimaltrennzeichen ist
Delphi-Quellcode:
var
fs: TFormatSettings;
s: String;
d: Double;
begin
fs.DecimalSeparator := '.';
s := '-99.9999E+00';
d := StrToFloat(s, fs);
ShowMessage(FloatToStr(d));
end;