Форум: "Основная";
Текущий архив: 2002.05.09;
Скачать: [xml.tar.bz2];
ВнизКак определить число в строке или нет ? Найти похожие ветки
← →
Дмитрий Д. (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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c