Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Проверка типа данных в Edit


Автор: Martin_8 12.12.2008, 17:03
Здравствуйте. Помогите советом в следующей ситуации. 
Есть поле Edit. В его пользователь может вводить либо целые, либо дробные числа. Как определить, какое число пользователь ввёл в Edit, ведь там же число хранится в виде строки. 

Можно конечно искать в этой строке точку или запятую для определения, что число дробное. 
Но, наверняка, это можно сделать как-то проще и элементарнее. 
Подскажите пожалуйста, как ?  

Автор: Rodman 12.12.2008, 17:15
TryStrToFloat

и другие TryStrTo....

Автор: Poseidon 12.12.2008, 17:22
Цитата(Martin_8 @  12.12.2008,  17:03 Найти цитируемый пост)
Можно конечно искать в этой строке точку или запятую для определения, что число дробное. Но, наверняка, это можно сделать как-то проще и элементарнее. 
На самом деле это самый простой и правильный вариант. 

Код

if pos(DecimalSeparator, Edit1.Text) = 0 then
  /// целое
else // дробное


Автор: Rrader 12.12.2008, 17:54
Poseidon, а если по ошибке ввели несколько точек (запятых)?
Rodman, +1

Добавлено через 1 минуту и 41 секунду
Я бы так предложил: проверяем, есть ли DecimalSeparator. Если есть - делаем TryStrToFloat, если нет, делаем Val и смотрим в Code

Автор: Martin_8 12.12.2008, 23:12
Цитата(Rrader @  12.12.2008,  17:54 Найти цитируемый пост)
а если по ошибке ввели несколько точек (запятых)?

Такие нюансы обрабатывается отдельно.

Всем спасибо за помощь и оперативность. Как всегда vingrad и его форумчане выручили.  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)