Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.009 c
6-7146
DriveT
2002-03-21 22:06
2002.06.03
Порт сканер помогите плз...


1-7082
Corte ™
2002-05-22 09:12
2002.06.03
Помогите!!!


1-7003
Kordel
2002-05-23 00:26
2002.06.03
Проблема с выводом текста в файл


3-6907
Timka
2002-05-11 11:49
2002.06.03
HELP!!!!


14-7190
Sniffer
2002-04-24 11:37
2002.06.03
Case-пакеты




   Наверх