Вниз
Скачать: 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.011 c
14-73856
spROOT13
2002-08-26 21:19
2002.09.23
ИНФА О ДЕЛФИ


14-73826
BigBadMutuh
2002-08-24 01:08
2002.09.23
Проблема с background ом


14-73881
VictorT
2002-08-28 17:54
2002.09.23
опять про *.bat файлы


3-73484
MsGuns
2002-08-30 18:47
2002.09.23
BatchMove глючит или я ?


14-73837
Evgeny
2002-08-27 13:42
2002.09.23
MOD Tracker




   Наверх