Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
????
|
|||
|---|---|---|---|
|
#18+
Это глюк или я чего-то не понимаю? На форме имеется edit1, edit2, button1, button2; procedure TForm1.Button1Click(Sender: TObject); begin a:=strtofloat(edit1.Text); end; procedure TForm1.Button2Click(Sender: TObject); begin if a>=393.7 then edit2.Text:='>=393.7'; end; заранее объявляем a:real запускаем прогу, вводим в edit1 393,7 нажимаем по очереди Button1 и Button2 в edit2 ничего не появляется немного изменим код: procedure TForm1.Button1Click(Sender: TObject); begin a:=strtofloat(edit1.Text); end; procedure TForm1.Button2Click(Sender: TObject); begin if a>=393.8 then edit2.Text:='>=393.8'; end; запускаем прогу, вводим в edit1 393,8 нажимаем по очереди Button1 и Button2 в edit2 появляется '393,8' почему??? P.S. замена на a:single с 393,7 работает а с 250,7 нет; замена на a:extended проблему решает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2003, 14:59 |
|
||
|
????
|
|||
|---|---|---|---|
|
#18+
Это недостаток... хелпа.... Они должны были там явно написать, что сравнивать два числа с плавающей точкой не рекомендуется... А лучше ещё предупреждения на этапе компиляции выдавать... Хотя это лишнее, наверное... Это всё потому, что плавающие числа хранятся в памяти приближённо. Для сравнения можно использовать конструкцию типа: Код: plaintext 1. Это не глюк - это суровая реальность... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2003, 15:12 |
|
||
|
????
|
|||
|---|---|---|---|
|
#18+
Спасибо, теперь работает. А в чём причина такого смещения значения числа в памяти? Почему для одних чисел (393,7) смешение происходит, а для других (393,8) нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2003, 16:10 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32193832&tid=2117863]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
72ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 255ms |
| total: | 426ms |

| 0 / 0 |
