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

Простая ошибка? (The ‘Real’ is not Real)   Найти похожие ветки 

← →
Shlomo ©   (2006-05-02 15:04) [0]

Здравствуйте!
Помогите, пожалуйста, разобраться. Не могу понять, почему не получается, хотя должно получаться.

Var r: Real;
..

r := 0.02;
if r = 0.02 then ShowMessage(‘Yes’) else ShowMessage(‘No’);
..


Так вот, показывает ‘No’.
Но почему? Почему r <> 0.02?


← →
begin...end ©   (2006-05-02 15:07) [1]

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=374


← →
Shlomo ©   (2006-05-02 15:52) [2]

begin...end ©

Спасибо за ссылку.
Но всё-таки, автор статью не даёт конкретных рецептов. Подскажите пожалуйста, если не трудно.


← →
Palladin ©   (2006-05-02 15:54) [3]

1 использовать Currency
2 If trunc(r*100)=2


← →
wal ©   (2006-05-02 15:56) [4]


> не даёт конкретных рецептов
А тут никаких конкретных рецептов нет. Если задача позволяет, то работать с целыми (непример, не с рублями, а с копейками), если не позволяет, то точное сравнение там вряд ли нужно, используй неточное, что-то вроде if Abs(r-0.02)<0.001 then ...

С уважением.


← →
nt   (2006-05-02 18:27) [5]

учимся у сишников
Var r: Real;
begin
r := 0.02;
if r = real(0.02)
then writeln("Yes") else writeln("No");
end.

yes


← →
nt   (2006-05-02 18:31) [6]

учимся у сишников, ребятки
Var r:Real;
begin
r := 0.02;
if r = real(0.02)
then writeln("Yes") else writeln("No");
end.
yes


← →
Anatoly Podgoretsky ©   (2006-05-02 19:05) [7]

Потому что число 0,02 невозможно представить в машинном исчислении с плавающей запятой, вне зависимости от точности.


← →
DiamondShark ©   (2006-05-02 22:05) [8]


> nt   (02.05.06 18:31) [6]

Ты такой смешной...


← →
Гаврила ©   (2006-05-02 22:29) [9]

а я с нулем попробовал
получилось 8-0


← →
nt   (2006-05-02 22:39) [10]

> DiamondShark ©   (02.05.06 22:05) [8]
ну, посмейся...


← →
nt   (2006-05-02 22:50) [11]

смех - реакция на непонятное :-)


← →
Джо ©   (2006-05-02 22:51) [12]

> [11] nt   (02.05.06 22:50)
> смех - реакция на непонятное :-)

Боюсь, что последняя фраза может вызвать новые приступы :)


← →
wal ©   (2006-05-03 09:01) [13]


> [9] Гаврила ©   (02.05.06 22:29)
> а я с нулем попробовал
> получилось 8-0
0, небольшие целые, небольшие отрицательные степени двойки и их комбинации представляются в машине точно.


← →
icWasya ©   (2006-05-03 10:52) [14]

>begin...end ©   (02.05.06 15:07) [1]
вод Вы говорили
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=374

А на самом деле ещё хуже
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1217


← →
Desdechado ©   (2006-05-03 11:20) [15]

http://delphimaster.net/view/2-1146211942/



Страницы: 1 вся ветка

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



Память: 0.48 MB
Время: 0.025 c
2-1146417893
tickler
2006-04-30 21:24
2006.05.21
точное отслеживание времени


2-1146048231
EdSin
2006-04-26 14:43
2006.05.21
Работа с TTreeView


15-1145625698
Ketmar
2006-04-21 17:21
2006.05.21
php-форум, похожий на этот, а не на phpBB %-)


15-1146207067
kaand
2006-04-28 10:51
2006.05.21
Удаление данных с диска без возможности восстановления


15-1145627173
oldman
2006-04-21 17:46
2006.05.21
На одни и те же грабли двадцать восемь тысяч раз...




   Наверх