Текущий архив: 2007.01.07;
Скачать: CL | DM;
Вниз
Есть ли в Delphi что-то типа is_number? Найти похожие ветки
← →
cvg (2006-12-18 13:03) [0]Сабж. Есть строка в два байта, в которой могут быть либо цифры, либо какие-то другие символы. Как из различить?
← →
clickmaker © (2006-12-18 13:06) [1]TryStrToInt
IsCharAlpha() - win api
← →
cvg (2006-12-18 13:08) [2]спасибо
← →
Sha © (2006-12-18 19:21) [3]TryStrToInt вроде через Val сделана, так что не советую использовать.
Непосредственная проверка - самое простое:if (s[1] in ["0".."9"]) and (s[2] in ["0".."9"]) then ...
← →
Германн © (2006-12-19 01:16) [4]
> Sha © (18.12.06 19:21) [3]
>
> TryStrToInt вроде через Val сделана, так что не советую
> использовать.
Не советуешь, потому что Val чем-то плоха по твоему?
← →
Sha © (2006-12-19 10:43) [5]> Германн © (19.12.06 01:16) [4]
> Не советуешь, потому что Val чем-то плоха по твоему?
Я так сказал или ты сам за меня додумал? ))
Было сказано лишь то, что Val не подходит для проверки символьного
содержимого байтов в нашем случае.
Пример, приведенный ниже, показывает, как строка, не содержащая цифр,
обрабатывается данной функцией без ошибок.
Легко убедиться, что в нашем случае подобное использование Val приводит
к неверному заключению о содержимом строки.
Об этом часто забывают, что в данном случае, произошло и с тобой.
Ничего страшного.procedure TForm1.Button5Click(Sender: TObject);
var
s: string;
i, c: integer;
begin
s:="$F";
Val(s,i,c);
ShowMessage(Format("%d %d",[i,c]));
end;
Если думаешь, что это единичная аномалия, то можешь дополнить
тестовый пример такими строками: "1", "0x1"
.
← →
Sha © (2006-12-19 11:04) [6]> Германн © (19.12.06 01:16) [4]
Сорри за чересчур вежливый пост - сработал рефлекс на навешивание ярлыков.
Возможно, срабатывание было ложным )
← →
Германн © (2006-12-19 14:16) [7]
> Sha © (19.12.06 10:43) [5]
Не убедил. Все примеры содержат числа.
> Sha © (19.12.06 11:04) [6]
>
> > Германн © (19.12.06 01:16) [4]
>
> Сорри за чересчур вежливый пост
Пустяки. С кем не бывает, особливо по утрам :)
← →
Sha © (2006-12-19 15:48) [8]> Германн © (19.12.06 14:16) [7]
> Не убедил. Все примеры содержат числа.
Автору надо отличить цифры от других символов
Думаю, знаки пробела, доллара и буква "x" все же относятся
к другим символам, не так ли?
← →
Anatoly Podgoretsky © (2006-12-19 16:04) [9]> Sha (19.12.2006 15:48:08) [8]
Именно цифры, а не числа и набор их указан только 0..9 так что даже об минусе не надо беспокоиться, не говоря уж об научной нотации. Задача на проход в цикле, при этом по вопросу даже не требуется, что бы число было допустимым. Например 111111111111111111111111111111111111111 это нормальное число, но не допустимое для целых в Дельфи.
← →
Германн © (2006-12-19 16:07) [10]
> Sha © (19.12.06 15:48) [8]
>
> > Германн © (19.12.06 14:16) [7]
> > Не убедил. Все примеры содержат числа.
>
> Автору надо отличить цифры от других символов
>
> Думаю, знаки пробела, доллара и буква "x" все же относятся
> к другим символам, не так ли?
Теперь убедил :)
Страницы: 1 вся ветка
Текущий архив: 2007.01.07;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.009 c