如何求X的Y次方

yyfly 2004-03-14 02:59:43
var
i:integer;
begin
i := power(2,5);
end;

我这样写的时候总是出现这样的错误,
[Error] :Incompatible types: 'Integer' and 'Extended'

请问我应该怎么把结果换成整形保存到i中呢.
...全文
306 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dulei115 2004-03-15
  • 打赏
  • 举报
回复
如果仅仅只是为了求x的y次方(x,y为整数),建议直接使用循环
z := x;
for i := 2 to y do
z := z * x;
hmzgz81 2004-03-15
  • 打赏
  • 举报
回复
用pow()可能出现的问题是可能会计算机位数不够,建议可以考虑数组。就是将每次计算的结果保存在数组里面。
Frank.WU 2004-03-15
  • 打赏
  • 举报
回复
在窗體上放兩個edit控件,一個按鈕,代碼如下:
procedure TForm1.Button1Click(Sender: TObject);
var
x,y:integer;
z:real;
begin
x:=strtoint(edit1.Text);
y:=strtoint(edit2.Text);
z:=power(x,y);
showmessage(FloatToStr(z));
end;
耙子 2004-03-14
  • 打赏
  • 举报
回复
var
i:integer;
begin
i := Round(Power(2,5));
end;
yyfly 2004-03-14
  • 打赏
  • 举报
回复
我知道是类型不匹配。可是我就是想把他转成integer型的。有什么办法?
RedLeave 2004-03-14
  • 打赏
  • 举报
回复
你只要将i变量定义成Extended类型即可呀,INTERGER太小了,所以会报上面的错。
SydPink 2004-03-14
  • 打赏
  • 举报
回复
POWER??????
INTERGER太小了点吧?用更大的INT64,LONGINT

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧