Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Ctrl Shift
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 34
#1

Проверка числа

18.03.2015, 11:57. Просмотров 436. Ответов 16
Метки нет (Все метки)

Подскажите как программно проверить является ли число целым, допустим у меня есть некое число
Delphi
1
w:= d/l;
и скажем будет выводить showmessage,к примеру если w=14 то выведет 'Число целое', а если w=14,6 то выведет 'Число дробное'.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2015, 11:57
Ответы с готовыми решениями:

Проверка корректности числа
Есть код,проверяющий корректность числа.Нужно добавить вывод типа числа,если...

Поток: проверка правильности ввода числа
Создайте приложение, которое в фоновом режиме проверяет правильно введенные...

Проверка на ввод числа в n-ой системе счисления
Здравствуйте, ребята. В калькуляторе для большой арифметики необходимо...

STringrid проверка ячеек на наличие числа
STringrid проверка ячеек на наличие числа есть таблица 7 строк от 0 до 6...

Проверка на наличие определенного числа в таблице
у меня есть программа которая считает сумму введенных чисел в таблице по...

16
Verevkin
864 / 411 / 107
Регистрация: 12.03.2015
Сообщений: 2,961
18.03.2015, 12:06 #2
сколько нулей после запятой быть должно, чтобы число считалось целым?
0
pavel_pushok
30 / 30 / 9
Регистрация: 25.12.2014
Сообщений: 115
18.03.2015, 12:07 #3
а какого типа у вас w?
0
northener
пофигист широкого профиля
3418 / 2318 / 630
Регистрация: 15.07.2013
Сообщений: 13,699
18.03.2015, 12:11 #4
Цитата Сообщение от Ctrl Shift Посмотреть сообщение
Подскажите как программно проверить является ли число целым, допустим у меня есть некое число
w:= d/l;
Такое число по определению не целое и целым быть не может!
Скажи зачем тебе такая "проверка" понадобилась?

Добавлено через 1 минуту
Цитата Сообщение от Verevkin Посмотреть сообщение
сколько нулей после запятой быть должно, чтобы число считалось целым?
Почему обязательно нулей? Там могут быть не нули, а девятки.
0
Ctrl Shift
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 34
18.03.2015, 12:15  [ТС] #5
Тип real
0
Verevkin
864 / 411 / 107
Регистрация: 12.03.2015
Сообщений: 2,961
18.03.2015, 12:21 #6
Цитата Сообщение от northener Посмотреть сообщение
Почему обязательно нулей? Там могут быть не нули, а девятки.
согласен. интересует разность с ближайшим целым.

Добавлено через 5 минут
чушь, конечно.
автор, а нафига тебе оно надо?
0
murderer
3318 / 1465 / 133
Регистрация: 06.10.2010
Сообщений: 3,217
18.03.2015, 12:23 #7
Пробуй так...
Delphi
1
2
if frac(w)=0 then
  <целое>
0
Verevkin
864 / 411 / 107
Регистрация: 12.03.2015
Сообщений: 2,961
18.03.2015, 12:27 #8
Цитата Сообщение от murderer Посмотреть сообщение
Пробуй так...
может никогда не выполниться. особенно после деления.
0
northener
пофигист широкого профиля
3418 / 2318 / 630
Регистрация: 15.07.2013
Сообщений: 13,699
18.03.2015, 12:43 #9
Цитата Сообщение от murderer Посмотреть сообщение
if frac(w)=0 then
Точное сравнение вещественных чисел занятие бессмысленное.

Добавлено через 13 минут
Цитата Сообщение от Ctrl Shift Посмотреть сообщение
Тип real
Ещё раз спрошу зачем такая проверка понадобилась?
Подсказка: Даже если у этой переменной после десятичной запятой будут все нули, все равно будет
"Operator not applicable to this operand type" на строке
Delphi
1
if   ((w mod 2)=0)   then
0
Ctrl Shift
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 34
18.03.2015, 12:47  [ТС] #10
Нужен чтобы увеличить d на 1(т.е. d:=d+1), затем заново проделать w:=d/l, и если опять w не целое то увеличить d еще на 1, до тех пор пока w не будет целым числом.
0
pavel_pushok
30 / 30 / 9
Регистрация: 25.12.2014
Сообщений: 115
18.03.2015, 12:58 #11
как вариант попробуйте через frac, мало ли.
0
mss
2632 / 2257 / 275
Регистрация: 24.12.2010
Сообщений: 13,725
18.03.2015, 13:01 #12
Цитата Сообщение от Ctrl Shift Посмотреть сообщение
увеличить d на 1(т.е. d:=d+1), затем заново проделать w:=d/l, и если опять w не целое то увеличить d еще на 1, до тех пор пока w не будет целым числом
Сам-то понял что сказал, "математик" ?)

Пусть d = 14,6

Сколько раз, по-твоему, нужно увеличить (или уменьшить - по барабану) d на единицу, чтобы оно стало целым ?)
0
Verevkin
864 / 411 / 107
Регистрация: 12.03.2015
Сообщений: 2,961
18.03.2015, 13:03 #13
Цитата Сообщение от Ctrl Shift Посмотреть сообщение
Нужен чтобы увеличить d на 1(т.е. d:=d+1), затем заново проделать w:=d/l, и если опять w не целое то увеличить d еще на 1, до тех пор пока w не будет целым числом.
самое время пройти по этой ссылке.
0
pavel_pushok
30 / 30 / 9
Регистрация: 25.12.2014
Сообщений: 115
18.03.2015, 13:06 #14
mss, я думаю он имел ввиду, что есть целое число, и нужно найти его делители)
0
northener
пофигист широкого профиля
3418 / 2318 / 630
Регистрация: 15.07.2013
Сообщений: 13,699
18.03.2015, 13:07 #15
Цитата Сообщение от Ctrl Shift Посмотреть сообщение
Нужен чтобы увеличить d на 1(т.е. d:=d+1), затем заново проделать w:=d/l, и если опять w не целое то увеличить d еще на 1, до тех пор пока w не будет целым числом.
Вот и увеличивай d на 1, до тех пор пока
Delphi
1
(d mod l)
не станет равным 0
0
Ctrl Shift
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 34
18.03.2015, 13:13  [ТС] #16
Через frac получается при некоторой корректировке
0
northener
пофигист широкого профиля
3418 / 2318 / 630
Регистрация: 15.07.2013
Сообщений: 13,699
18.03.2015, 13:20 #17
Цитата Сообщение от Ctrl Shift Посмотреть сообщение
Через frac получается
Нафиг frac. Это не для твоей задачи. Делай так как я сказал.
0
18.03.2015, 13:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2015, 13:20

Сохранение массива в файл, проверка целого числа и тд
Всем привет. Пишу курсовую работу, нужна ваша помощь. Уже не знаю что делать,...

Проверка на совпадение + проверка строки на содержание спец. символов
В общем ситуация такая: есть типизированный файл, форма для добавления...

Отобразить все цифры этого числа зеркально относительно центра числа. Обработать случаи чётного и нечётного количества цифр числа
Дано целое число. Отобразить все цифры этого числа зеркально относительно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru