@kaleigh
Добрый день!
Числа бывают целые или вещественные, поэтому можно проверять строку как целое число функциями TryStrToInt или TryStrToFloat
Для проверки число это или нет достаточно проверить как TryStrToFloat
Пример:
1 2 3 4 5 6 7 8 |
var value: Double;
str: string;
begin
str:= '12341';
if TryStrToFloat(str, value) then
ShowMessage('Строка является числом') else
ShowMessage('Строка не является числом');
end;
|
@kaleigh
В Delphi можно использовать функцию StrToIntDef для проверки, является ли строка числом. Она пытается преобразовать строку в целочисленное значение, возвращая 0, если это невозможно. Если результат равен 0 и длина исходной строки больше 0, то это не число.
Пример:
1 2 3 4 5 6 7 8 9 10 11 12 |
function IsNumeric(const s: string): Boolean;
var
i: Integer;
begin
Result := False;
if Length(s) = 0 then Exit;
for i := 1 to Length(s) do
begin
if not (s[i] in ['0'..'9']) then Exit;
end;
Result := True;
end;
|
Эта функция возвращает True, если строка состоит только из цифр. Если в строке есть знаки пунктуации или буквы, она вернет False.