Лучшее решение (ИМХО) - использовать TryStrToFloat
:
procedure TForm1.Button1Click(Sender: TObject);
var
myfloat: double;
begin
if TryStrToFloat(Edit1.Text, myfloat) then
DataModule.tbTableNumber.Value := myfloat
else
ShowMessage('Incorrect value.');
end;
Я не думаю, что особенно «чисто» использовать try..except
, когда ошибка столь же тривиальна и, фактически, как и ожидалось, как в этом случае.