Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить, является ли строка числом ?


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()


Наверх

Титульная страница Поиск, карта сайта Написать письмо