Форум: "Начинающим";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];
ВнизПростая ошибка? (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 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.05.21;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.014 c