@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.