Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
4-26305
Delphimun
2002-03-08 08:47
2002.05.09
WinApi in Masm32


14-26230
SPeller
2002-03-31 17:30
2002.05.09
Шаровары


14-26245
Vladimir Lubenchenko
2002-03-31 20:49
2002.05.09
Большая просьба к владельцам D6+Upd2 (!!!)


3-26037
BillyJeans
2002-04-12 10:39
2002.05.09
Помогите с индексами....


1-26128
Дмитрий Баранов
2002-04-24 17:51
2002.05.09
перкомпиляция VCL с отладочной информацией





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский