val('1.1aaaa', e, code);
writeln(e:0:7, ' ', code);
readln;
Выводит 11 4 (вместо 1.1). Дельфа седьмая. Это нормально?
Вообще нужна функция, которая переводит начало строки в число, говоря длину этого начала.
val('1.1aaaa', e, code);
writeln(e:0:7, ' ', code);
readln;
function get_float(const s: string; var len: integer): double;
var
code: integer;
begin
Val(s, result, code);
if code > 0 then
begin
len := code - 1;
val(copy(s, 1, code - 1), result, code);
end
else
len := length(s);
end;