![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Код:
r:=strtofloat(StringGrid1.Cells[i,j]); if (r=pr) then begin result:=strtofloat(StringGrid1.Cells[i,1])+strtofloat(StringGrid1.Cells[1,j]); end и Код:
if (strtofloat(StringGrid1.Cells[i,j])=pr) then begin result:=strtofloat(StringGrid1.Cells[i,1])+strtofloat(StringGrid1.Cells[1,j]); end оператор if работает по разному для этих вроде одинаковых значений.... почему??? Последний раз редактировалось freedomman, 20.10.2011 в 14:46. |
#2
|
||||
|
||||
![]() Вставь после
Код:
r:=strtofloat(StringGrid1.Cells[i,j]); Код:
ShowMessage(StringGrid1.Cells[i,j]+', а r = '+floattostr(r)); Google в помощь |
#3
|
|||
|
|||
![]() при
Код:
if (strtofloat(StringGrid1.Cells[i,j])=pr) then begin result:=strtofloat(StringGrid1.Cells[i,1])+strtofloat(StringGrid1.Cells[1,j]); end |
#4
|
||||
|
||||
![]() Странно, если оно вообще хоть когда-либо работало.
Сравнение дробных чисел так не сделать. Дробные числа надо сравнивать приблизительно, то есть Код:
if (a>b-eps)and(a<b+eps) then ... jmp $ ; Happy End! The Cake Is A Lie. |
#5
|
|||
|
|||
![]() о как) спасибо
|