du könntest mit "Try" und "Except" bzw. "Finally" arbeiten, oder du prüfst vorher ob in dem String Zeichen vorkommen die keine Zahl sind.
Delphi-Quellcode:
var ErlaubteZeichen, LEditText: String;
OK: Boolean;
LCount, LMax: Integer;
begin
LEditText := Edit1.Text;
ErlaubteZeichen := '01234567890' + DecimalSeparator;
LMax := Length(LEditTExt);
LCount := 1;
OK := True;
while OK and (LCount <= LMax) do
begin
OK := Pos(LEditText[LCount], ErlaubteZeichen) > 0;
inc(LCount);
end;
showmessage(booltostr(OK, true));