Текущий архив: 2003.05.08;
Скачать: CL | DM;
Внизглюки с extended? Найти похожие ветки
← →
tipman (2003-04-25 16:20) [0]Мастаки, хай!
почему не фунциклирует такой код?
var a,b,c:extended;
begin
a:=1.0;
b:=0.8;
c:=a-b;
if c=0.2 then .......
end;
почему-то не срабатывает if, получается что c<>0.2?
← →
Dms (2003-04-25 16:25) [1]потому что 1-0.8=0.199999999999999999999999999999999999
вводи EXP=0.0001
if (c-0.2<EXP) then ...
← →
Palladin (2003-04-25 16:26) [2]замени extended на currency и господь с тобой
← →
Dms (2003-04-25 16:26) [3]есс-но, надо брать разность по модулю
if (ABS(c-0.2)<EXP) then ...
← →
tipman (2003-04-25 16:30) [4]
> Dms (25.04.03 16:25)
> потому что 1-0.8=0.199999999999999999999999999999999999
хотелось бы узнать почему?
← →
Skier (2003-04-25 16:31) [5]>tipman
http://www.delphikingdom.com/helloworld/reals.htm
← →
Anatoly Podgorestky (2003-04-25 17:05) [6]По той же причине что и 1 / 3 * 3 <> 1
1
А вот так --- * 3 работает
3
Страницы: 1 вся ветка
Текущий архив: 2003.05.08;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.007 c