Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.09;
Скачать: CL | DM;

Вниз

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

 
Дмитрий Д. ©   (2002-04-26 14:09) [0]

Уважаемые !
Интересует возможность БЫСТРОГО определения: в строке число или нет ?
я знаю варианты:перебор посимвольно(медлено) и с помощью исключения (пока не устраивает, если ничего не найду придется делать так)
может ктото знает другие варианты ?
Заранее спасибо!


 
Дмитрий Д. ©   (2002-04-26 14:12) [1]

Забавно:)
никогда еще со смной не было чтобы у когото еще был практически одинаковый вопрос как у меня (у Juli)


 
Виктор Щербаков ©   (2002-04-26 14:13) [2]


> перебор посимвольно(медлено)

Это почему же медленно?


 
Song ©   (2002-04-26 14:15) [3]

А Pos не подходи?


 
MBo ©   (2002-04-26 14:15) [4]

val
strtointdef


 
Dimok   (2002-04-26 14:18) [5]

procedure Val(S; var V; var Code: Integer);
эта процедура переводит строку S в V (real или integer), если в строке S содержалось не число, то в Code возвращается номер первого нецифрового символа, если все нормально, то Code=0.


 
Дмитрий Д. ©   (2002-04-26 14:50) [6]

Всем спасибо огромное!!!
особое спасибо MBo, Dimok
совсем блин про Val забыл :)
Еще раз всем спасибо!


 
Дмитрий Д. ©   (2002-04-26 15:22) [7]

Только вот в чем загвоздка... :)
если число более 999999999
то все... приехали...


 
MBo ©   (2002-04-26 15:33) [8]

i64:=StrToInt64Def(s,-1);
if i64=-1 then...


 
Дремучий ©   (2002-04-26 19:52) [9]

2 MBo
а если в строке до дого была -1?

правильней будет так
//если число дробное, нужно будет еще подправить
//Length(Trim("-1.0000000000002301")) > 2

function IsInt64(i64:string; var r:longint):boolean;
var j:integer;
begin
if Length(Trim(i64)) > 2
then begin
r:= StrToInt64Def(i64,-1)
if r=-1 then result:= false;
end
else begin
Val(i64,r,j);
result:= j =0;
end;
end;

if IsInt64("23545",r)
then ....
//в r - уже число 23545 ;)
else ....
//значит это было не число :(


 
Дремучий ©   (2002-04-26 19:56) [10]

это шутка такая!!!
;)


 
Anatoly Podgoretsky ©   (2002-04-26 20:19) [11]

Дмитрий Д. © (26.04.02 14:12)
ничего общего, у тебя про число, а там про цифры



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

Текущий архив: 2002.05.09;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
3-26011
_Виктор
2002-04-16 08:11
2002.05.09
Как положить картинку в базу Access?


7-26283
dim_zay
2002-02-08 14:04
2002.05.09
Проблем с принтером!!!


1-26139
Дремучий
2002-04-24 18:24
2002.05.09
Скоро будет маскарад, любым маскам буду рад.


14-26236
lipskiy
2002-03-14 13:50
2002.05.09
Правда ли то, что XP, если она нелецензионная, может грохнуть винт на физическом уровне?


1-26185
AlexKniga
2002-04-24 16:26
2002.05.09
Разница м/у моим любимым TP7 и Delphi