![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как определить число в строке или нет ?
Дмитрий Д. © (2002-04-26 14:09:00)Уважаемые !
Интересует возможность БЫСТРОГО определения: в строке число или нет ?
я знаю варианты:перебор посимвольно(медлено) и с помощью исключения (пока не устраивает, если ничего не найду придется делать так)
может ктото знает другие варианты ?
Заранее спасибо!
Anatoly Podgoretsky (2002-04-26 20:19:00) [1]Дмитрий Д. © (26.04.02 14:12)
ничего общего, у тебя про число, а там про цифры
Дремучий (2002-04-26 19:56:00) [2]это шутка такая!!!
;)
Дремучий (2002-04-26 19:52:00) [3]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 ....
//значит это было не число :(
MBo (2002-04-26 15:33:00) [4]i64:=StrToInt64Def(s,-1);
if i64=-1 then...
Дмитрий Д. (2002-04-26 15:22:00) [5]Только вот в чем загвоздка... :)
если число более 999999999
то все... приехали...
Дмитрий Д. (2002-04-26 14:50:00) [6]Всем спасибо огромное!!!
особое спасибо MBo, Dimok
совсем блин про Val забыл :)
Еще раз всем спасибо!
Dimok (2002-04-26 14:18:00) [7]procedure Val(S; var V; var Code: Integer);
эта процедура переводит строку S в V (real или integer), если в строке S содержалось не число, то в Code возвращается номер первого нецифрового символа, если все нормально, то Code=0.
Song (2002-04-26 14:15:00) [8]А Pos не подходи?
MBo (2002-04-26 14:15:00) [9]val
strtointdef
Виктор Щербаков (2002-04-26 14:13:00) [10]
> перебор посимвольно(медлено)
Это почему же медленно?
Дмитрий Д. (2002-04-26 14:12:00) [11]Забавно:)
никогда еще со смной не было чтобы у когото еще был практически одинаковый вопрос как у меня (у Juli)