![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Значения с плавающей точкой [D7, XP]
ttt © (2013-03-22 14:28:00)Добрый день.
Лучше покажу примером.
s: single;
s:= 0.8;
if s <> 0.8 then ShowMessage(FloatToStr(s));
На деле выдает "0.800000011920929". Вопрос, скорее, не в том, чтобы убрать эти "11920929", а в том, как правильно сравнивать значения.
Подскажите, расскажите. :)
O'ShinW (2013-03-22 15:26:00) [1]http://www.delphikingdom.com/asp/viewitem.asp?catalogid=374
Ega23 (2013-03-22 14:39:00) [2]А вообще
|A-B| <= Epsilon
Epsilon - больше нуля, значение - выбирай исходя из задачи
Inovet (2013-03-22 14:38:00) [3]Нельзя плавающие типы сравнивать на точное равенство, надо
abs(a-b) < epsilon
Ega23 (2013-03-22 14:36:00) [4]uses Math;
SameValue + F1