Conversion from string to float seams to error in exponent calculation. Problem exists with and without simulator.
Code
var
f: float;
s: string[50];
...
s := ' 12345678.9'; // x1
f := StrToFloat(s);
s := s + ' = ' + FloatToStr(f) + ' ';
WriteLn(LCDout, s); // '12345678.9 = 1.234568E7' (good)
s := ' 1234567890.0'; // x100
f := StrToFloat(s);
s := s + ' = ' + FloatToStr(f) + ' ';
WriteLn(LCDout, s); // '1234567890.0 = 1.234568E8' (<<< bad, E8 should be E9 !!!)
s := '12345678900000.0'; // x1.000.000
f := StrToFloat(s);
s := s + ' = ' + FloatToStr(f) + ' ';
WriteLn(LCDout, s); // '12345678900000.0 = 1.272353E12' ((<<< bad, E12 should be E13 !!!)
f: float;
s: string[50];
...
s := ' 12345678.9'; // x1
f := StrToFloat(s);
s := s + ' = ' + FloatToStr(f) + ' ';
WriteLn(LCDout, s); // '12345678.9 = 1.234568E7' (good)
s := ' 1234567890.0'; // x100
f := StrToFloat(s);
s := s + ' = ' + FloatToStr(f) + ' ';
WriteLn(LCDout, s); // '1234567890.0 = 1.234568E8' (<<< bad, E8 should be E9 !!!)
s := '12345678900000.0'; // x1.000.000
f := StrToFloat(s);
s := s + ' = ' + FloatToStr(f) + ' ';
WriteLn(LCDout, s); // '12345678900000.0 = 1.272353E12' ((<<< bad, E12 should be E13 !!!)