Форум: "Основная";
Текущий архив: 2002.06.03;
Скачать: [xml.tar.bz2];
Вниз0,5=0,5 округление Найти похожие ветки
← →
AlexA (2002-05-22 16:18) [0]Такая информация в отладчике
TmpN: 14710.5
Frac(TmpN): 0.5
Frac(TmpN)>=0.5: False
Frac(TmpN)=0.5: False
В результате условие IF выполняется неверно.
Где ошибка
Что делать
← →
Внук (2002-05-22 16:22) [1]Было у меня такое, когда еще на C++ писал. Попробуйте FloatToStr(Frac(TmpN))="0.5"
← →
McSimm (2002-05-22 16:26) [2]Сравнение на равенство чисел с плавающей точкой это ошибка программирования.
Обычно сравнивают в пределах погрешности, но можно привести к сравнению целых. Например так:
if Trunc(10*Frac(TmpN)) = 5 then
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.06.03;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.039 c