![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как определить, является ли строка числом ?
demisen © (2002-09-11 12:43:00)Есть переменная типа String. Как я могу определить можно ли ее конверитировать в Integer или Real.
Можно конечно через try .... , но может есть более цивилизованный способ ?
demisen (2002-09-11 13:21:00) [1]Да нет. Все понял.
StrToInt - выбросит Exception, то есть все сводится к try...
StrToIntDef - подставит значение по умодчанию, то есть опять придется делать проверку
Value - таже история - придется анализировать Code
Демонов Е.В. (2002-09-11 13:17:00) [2]Легче уж
function isInteger(S:String):boolean;
begin
try
StrToInt(s);
result:=true;
except
result:=false;
end;
end;
чЕМ Строки Анализировать
Демонов Е.В. (2002-09-11 13:13:00) [3]>>Слесарь Матерящийся
Я по оброзованию Математик - мозги на месте
Слесарь Матерящийся (2002-09-11 13:10:00) [4]>>>А если так 100.12.44 - это что число?
А мозги у человека должны функционировать?
Демонов Е.В. (2002-09-11 12:56:00) [5]>>Слесарь Матерящийся
А если так 100.12.44 - это что число?
Слесарь Матерящийся (2002-09-11 12:50:00) [6]проанализировать содержимое. Посимвольно.
Целое -- содержит только цифры, опционально один из знаков +/-, цифр всего не больше 10.
Вещественное ^^^ + может содержать десятичную точку, префикс мантиссы E и знак мантиссы +/-
Ничего сложного
Демонов Е.В. (2002-09-11 12:47:00) [7]Посмотри описание фанкции StrToInt
dimanew (2002-09-11 12:47:00) [8]procedure Val(S; var V; var Code: Integer);
Description
Val converts the string value S to its numeric representation, as if it were read from a text file with Read.
S is a string-type expression; it must be a sequence of characters that form a signed real number.
V is an integer-type or real-type variable. If V is an integer-type variable, S must form a whole number.
Code is a variable of type Integer.
If the string is invalid, the index of the offending character is stored in Code; otherwise, Code is set to zero. For a null-terminated string, the error position returned in Code is one larger than the actual zero-based index of the character in error.
zavdim (2002-09-11 12:47:00) [9]по моему try - наиболее цивилизован. При других проверках - все-равно время будешь терять.
Song (2002-09-11 12:47:00) [10]StrToIntDef()