Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как проверить является ли введеный текст числом? [D7, Win2k]


Страницы:   1 2

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо