Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Incompatible types: 'Integer' and 'Extended'


Автор: Alexanddr 16.12.2009, 14:51
Что означает Incompatible types: 'Integer' and 'Extended'? Не совпадают типы? 
вот есть код, что в нём не так?
Код

procedure TForm1.Button3Click(Sender: TObject);
var  Result,n, i ,j,e3,e4,e5,r: Integer;
z: array of integer;
begin
 e3 := StrToint(Edit3.Text);
 e4 := StrToint(Edit4.Text);
 e5 := StrToint(Edit5.Text);
  i := 1;
  Result := 0;
  for j := i to e5 do
  begin
   Result:=(Result + z[j])*Power(1+e4,e5);
  end;
label9.Caption := IntToStr(Result);
end;


а расчитывается вот эта формула 

Автор: Alexeis 16.12.2009, 15:02
Функция Power возвращает значение типа Extended, т.е. с плавающей точкой. Чтобы его присвоить переменной типа Integer такое значение нужно округлить одной из функций Round или Trunc.

Добавлено через 1 минуту и 48 секунд
  P.S. не советую переменные называть "Result". Это зарезервированное слово-переменная в которой из функции возвращают значение. Могут получиться трудноуловимые ошибки.

Автор: profesiachuvak 18.12.2009, 18:36
Ну ещё в добавок предложу такой вариант :

Код

var 
Result : real;

begin

...

label9.caption:=FloatToStr(Result);

end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)