Вниз
Скачать: CL | DM;

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

 
demisen   (2002-09-11 12:43) [0]

Есть переменная типа String. Как я могу определить можно ли ее конверитировать в Integer или Real.

Можно конечно через try .... , но может есть более цивилизованный способ ?


 
Демонов Е.В. ©   (2002-09-11 12:47) [1]

Посмотри описание фанкции StrToInt


 
dimanew   (2002-09-11 12:47) [2]

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) [3]

по моему try - наиболее цивилизован. При других проверках - все-равно время будешь терять.


 
Song ©   (2002-09-11 12:47) [4]

StrToIntDef()


 
Слесарь Матерящийся   (2002-09-11 12:50) [5]

проанализировать содержимое. Посимвольно.

Целое -- содержит только цифры, опционально один из знаков +/-, цифр всего не больше 10.

Вещественное ^^^ + может содержать десятичную точку, префикс мантиссы E и знак мантиссы +/-

Ничего сложного


 
Демонов Е.В. ©   (2002-09-11 12:56) [6]

>>Слесарь Матерящийся
А если так 100.12.44 - это что число?


 
Слесарь Матерящийся   (2002-09-11 13:10) [7]

>>>А если так 100.12.44 - это что число?

А мозги у человека должны функционировать?


 
Демонов Е.В. ©   (2002-09-11 13:13) [8]

>>Слесарь Матерящийся
Я по оброзованию Математик - мозги на месте


 
Демонов Е.В. ©   (2002-09-11 13:17) [9]

Легче уж

function isInteger(S:String):boolean;
begin

try
StrToInt(s);
result:=true;
except
result:=false;
end;

end;

чЕМ Строки Анализировать


 
demisen   (2002-09-11 13:21) [10]

Да нет. Все понял.

StrToInt - выбросит Exception, то есть все сводится к try...

StrToIntDef - подставит значение по умодчанию, то есть опять придется делать проверку

Value - таже история - придется анализировать Code






Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.012 c
14-73807
Вадим
2002-08-25 03:04
2002.09.23
Это сильно!


6-73784
Valentain
2002-07-18 14:12
2002.09.23
Уже страшновато задавать вопрос про ... сокеты...


4-73941
Squ
2002-07-31 15:49
2002.09.23
Поиск и открытие (!) файла по маске


3-73572
saf
2002-09-03 18:50
2002.09.23
STACK OVERFLOW


14-73879
Wonder
2002-08-29 16:26
2002.09.23
:)))




   Наверх