Главная страница
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.011 c
3-26003
Jakov
2002-04-05 13:59
2002.05.09
.dbx - ?


3-26024
slc_g@yandex.ru
2002-04-16 14:21
2002.05.09
Мастера, как записать файл BMP в blob поле


3-25977
Cage
2002-04-14 16:45
2002.05.09
База данных на е.


1-26080
dimich
2002-04-26 12:05
2002.05.09
Наблюдатель программа


6-26215
Beka
2002-02-24 13:57
2002.05.09
HTML вместе с Delphi