1879 |
|
system.Delete(S,i,1); |
1880 |
|
end |
1881 |
|
else |
1882 |
< |
if (i > 1) and (S[i] in ['+','-']) and not (S[i-1] in ['e','E']) then |
1883 |
< |
Exit {malformed} |
1882 |
> |
if S[i] in ['+','-'] then |
1883 |
> |
begin |
1884 |
> |
if (i > 1) and not (S[i-1] in ['e','E']) then |
1885 |
> |
Exit; {malformed} |
1886 |
> |
end |
1887 |
|
else |
1888 |
|
if S[i] in ['e','E'] then {scientific notation} |
1889 |
|
begin |
1902 |
|
if Result then |
1903 |
|
begin |
1904 |
|
{adjust scale for decimal point} |
1905 |
< |
Scale := Scale - (exponent - ds - 1); |
1905 |
> |
if ds > 0 then |
1906 |
> |
Scale := Scale - (exponent - ds - 1); |
1907 |
|
Result := TryStrToInt64(system.copy(S,1,exponent-1),Value); |
1908 |
|
end; |
1909 |
|
end |