Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.47 MB
Время: 0.018 c
6-23275
Artyom
2003-03-12 11:33
2003.05.08
mailto


1-23184
Zilog
2003-04-24 17:48
2003.05.08
Организация задержки


1-23123
Альберт_
2003-04-27 18:09
2003.05.08
Как определить ширину строки


3-22995
OlkaGTS
2003-04-16 14:20
2003.05.08
DBExpress и MSSQL


3-22988
zom
2003-04-14 12:54
2003.05.08
Поиск по индексу или Select, что быстрее через ADO?