![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как проверить является ли введеный текст числом? [D7, Win2k]
Draught © (2004-07-21 15:08:00)Проблемка такая, есть Edit, в который должна вводится числовая информация, число может быть как целым, так и дробным, нужно проверить является ли текст числом.
Конечно можно делать это все через case:
for i:1 to length(Edit) do
case Edit[i] of
'0':;
'1':;
'2':;
'3':;
'4':;
'5':;
'6':;
'7':;
'8':;
'9':;
',':;
else showmessage('Не число!')
end;
но меня интересует другое, возможно есть какая-нить функция, позволяющая сразу это проверить?
TryStrToIntнапример, только эта для целых...
Sandman25 (2004-07-21 15:18:00) [21][5] Reindeer Moss Eater © (21.07.04 15:16)
Ага. А если еще римские цифры учитывать, да анализировать их правильность (например, нет числа IVI), а потом еще и "пи" с "e" добавить :)
Reindeer Moss Eater (2004-07-21 15:16:00) [22]Введенный текст := 'Сто тысяч миллионов';
Val тоже не спасет.
Длинная строка девяток - это несомненно число.
Но что делать если строка девяток ну очень длинная?
Sandman25 (2004-07-21 15:15:00) [23]Кстати, в case можно написать:
case Edit[i] of
'0'..'9',',':;
else showmessage('Не число!')
end;
или вообще
if not (Edit[I] in ['0'..'9',',']) then
Draught (2004-07-21 15:13:00) [24]Valпереводит любую строку в число, и возвращает код ошибки, и если код ошибки не нулевой, то значит неправильно перевелось.
Я все понял...
Усе, спасиб...
Sandman25 (2004-07-21 15:09:00) [25]Val
Ega23 (2004-07-21 15:09:00) [26]Val