Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2008, 16:17   #1
Кронос
Пользователь
 
Регистрация: 29.04.2007
Сообщений: 66
По умолчанию Помогите реалезовать условие - "Если x целое число то"

Помогите релезовать на Delphi следующий алгоритм:

Если x целое число то ...
Кронос вне форума Ответить с цитированием
Старый 03.05.2008, 16:27   #2
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,691
По умолчанию

Возможно если x=round(x) то
или
если x=int(x) то
Kostia вне форума Ответить с цитированием
Старый 03.05.2008, 17:55   #3
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Цитата:
if x mod 2=0 then
mod работает только с целыми числами integer, а если "х" имеет тип integer, тогда зачем еще какая-то проверка? Здесь вы проверяете делится или нет целое число пополам без остатка.
Следовательно делаем вывод, что у Кроноса x: real;
Цитата:
Возможно если x=round(x) то
или
если x=int(x) то
Нельзя сравнивать между собой вещественные числа.
Попробуйте выполнить следующую программу:
Код:
var
  x: real;
begin
  x:=0.1;
  if x = 0.1 then ShowMessage('да') 
    else ShowMessage('нет');
результат будет 'нет'
Поэтому, один из вариантов проверки будет таким:
Код:
epsilon:=1e-6; //погрешность
if abs(x-trunc(x)) <= epsilon then .....;
_Dmitry вне форума Ответить с цитированием
Старый 03.05.2008, 20:54   #4
Кронос
Пользователь
 
Регистрация: 29.04.2007
Сообщений: 66
По умолчанию

Спасибо.
Кронос вне форума Ответить с цитированием
Старый 03.05.2008, 21:21   #5
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Код:
    if IsZero(x - trunc(x)) then ...................;
B_N вне форума Ответить с цитированием
Старый 04.05.2008, 16:07   #6
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

_______________

Последний раз редактировалось SERG1980; 04.05.2008 в 16:44.
SERG1980 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi] Игра "Угадай число" Bomber Помощь студентам 15 05.06.2008 09:34
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51
cтранная запись формулы ЕСЛИ: "=+ЕСЛИ(..." icore2008 Microsoft Office Excel 4 10.04.2008 21:32
Оператор амперсанд "&" или число внутри текста dotvz Microsoft Office Excel 2 02.04.2008 14:33
не корректно работает функция "если" (+) zetrix Microsoft Office Excel 0 30.10.2006 19:19