Das Einfachste:
Val,
TryStrToInt,
TryStrToFloat, ...
DecimalSeparator
Ansonsten einfach alles nacheinander prüfen und schauen, ob was Richtiges/Falsches drin vorkommt.
Delphi-Quellcode:
Result := False;
i := 1;
if (i <= Length(S)) and (S[i] in ['+', '-']) then
Inc(i);
if (i > Length(S)) or not (S[i] in ['0'..'9']) then
Exit;
while (i <= Length(S)) and (S[i] in ['0'..'9']) do
Inc(i);
if (i <= Length(S)) and (S[i] = DecimalSeparator) then
begin
Inc(i);
if (i > Length(S)) or not (S[i] in ['0'..'9']) then
Exit;
while (i <= Length(S)) and (S[i] in ['0'..'9']) do
Inc(i);
end;
Result := i > Length(S);
Das läßt sich natürlich noch ein bissl hübscher zusammenfassen.