![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
S.A.G. |
|
|||
![]() не эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1339 Регистрация: 20.7.2006 Где: in ad equate Репутация: нет Всего: 19 |
Когда word будет равен real'у? Или нужно обязательно усекать real приводя его к целому перед сравнением?
-------------------- Вот она задачка: спасти себя от себя самого © Cube Sometimes good people do evil things © A Simple Plan |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: нет Всего: 98 |
real с word'ом нужно сравнивать точно так же как и два real'а...
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Равен не будет.
Больше-меньше - пожалуйста. А на равно проверять... Не стоит... |
|||
|
||||
S.A.G. |
|
|||
![]() не эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1339 Регистрация: 20.7.2006 Где: in ad equate Репутация: нет Всего: 19 |
Возникала идея - равен может быть будет когда все знаки отведенные под хранение дроби будут равными 0. Но мне кажеться это еще не гарантия, лучше либо усекать либо округлять.
-------------------- Вот она задачка: спасти себя от себя самого © Cube Sometimes good people do evil things © A Simple Plan |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Именно. Погрешность в многотысячные вылазит в самый неподходящий момент
![]() |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
Да легко! Просто вместо real1 = integer1 нужно писать, например
abs(real1 - integer1) < 0.001 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
S.A.G. |
|
|||
![]() не эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1339 Регистрация: 20.7.2006 Где: in ad equate Репутация: нет Всего: 19 |
Так 5 = 5.000000 или нет?
![]() -------------------- Вот она задачка: спасти себя от себя самого © Cube Sometimes good people do evil things © A Simple Plan |
|||
|
||||
Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 15 Всего: 76 |
Будет скорее всего. Только не гарантировано. Если при каких-то условиях они не будут равны то пенять не накого будет кроме как на себя.
-------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: нет Всего: 98 |
равно, а вот 5.000000001 уже не равно... -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
ils |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 8.9.2006 Где: Москва Репутация: нет Всего: нет |
Да будет тебе известно, что число 5 (вещественное) в компе
![]() 5.0000000012 или 5.000000002 или запросто может быть 4.999999992233432. И для сравнения вещественного с каким-то другим на равенство надо брать разницу этих чисел и сравнивать его уже с некой дельтой типа 0.0000001, что равно 1E-7 (я такой использую). И если разница меньше этой дельты, то числа можно считать равными (ессно, с точностью до этой дельты). Слишком маленькой дельту делать нельзя, ибо можно промахнуться. PS А вот целые числа можно сравнивать по-простому, операцией "=". Ибо они в машинке хранятся уже точно. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |