Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Sqrt непашет [D7, WinXP]


daron ©   (2007-01-15 18:57:00) 

c:=Sqrt(0.05647474);
                     c:=Sqrt(SQR(Bx-Xc)+SQR(By-Yc));

обе строки возвращают с=0. я перепробовал уже все виды типов с плавающей точкой - пипец. в чем маза не понимаю.
По контрол+ф7 в режиме отладки выражение Sqrt(0.05647474)возвращаяет нормальное значение. Нифига не пойму почему оно не присваивается.


PZ   (2007-01-16 08:11:00) [1]

Вот такой пример: результаты получаются нормальные
Const
 Bx = 1.234;
 Xc = 1.716;
 By = 3.909;
 Yc = 3.222;
procedure TForm1.Button1Click(Sender: TObject);
Var
 C : Real;
begin
 c := Sqrt(0.05647474);
 ShowMessage(FormatFloat('0.0000', C));   // 0,2376
 c := Sqrt(SQR(Bx-Xc)+SQR(By-Yc));
 ShowMessage(FormatFloat('0.0000', C));   // 0,8392
end;


tesseract   (2007-01-15 21:54:00) [2]


> Нифига не пойму почему оно не присваивается.


Оптимизация может быть? Далее в области видимости "с" используется?


Kolan   (2007-01-15 21:23:00) [3]

Дело не в Sqrt. Ище в другом месте.


Джо   (2007-01-15 20:15:00) [4]

> Может быть c : integer; (?)

Не скомпилируется.


PZ   (2007-01-15 19:49:00) [5]

Может быть c : integer; (?)


Джо   (2007-01-15 18:58:00) [6]

Ты как его (значение) выводишь-то?


Наверх

Титульная страница Поиск, карта сайта Написать письмо