Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi:如何正确划分为浮点数_Delphi - Fatal编程技术网

Delphi:如何正确划分为浮点数

Delphi:如何正确划分为浮点数,delphi,Delphi,使用Delphi社区IDE的第一天,我就能够创建一个计算器应用程序。我主要做了Python和R编程 但我在部门运作上遇到了麻烦。我硬编码了2个值,只是为了确保操作基于浮点数 当将5除以2时,我想在面板标题中获得2.5 iAns := 5 / 2.0; yields: [dcc32 Error] hello_world.pas(189): E2010 Incompatible types: 'Integer' and 'Extended' [dcc32 Error] hello_world.pa

使用Delphi社区IDE的第一天,我就能够创建一个计算器应用程序。我主要做了
Python
R
编程

但我在部门运作上遇到了麻烦。我硬编码了2个值,只是为了确保操作基于浮点数

当将5除以2时,我想在面板标题中获得
2.5

iAns := 5 / 2.0; yields:

[dcc32 Error] hello_world.pas(189): E2010 Incompatible types: 'Integer' and 'Extended'
[dcc32 Error] hello_world.pas(189): E2010 Incompatible types: 'Integer' and 'Extended'
[dcc32 Fatal Error] Project1.dpr(5): F2063 Could not compile used unit 'hello_world.pas'
这是基于if-else条件执行操作的函数:

procedure TForm1.btnEqualsClick(Sender: TObject);
begin
iNum2 := StrToInt(edt1.Text);
edt1.Clear;
ShowMessage(IntToStr(iNum1));
ShowMessage(IntToStr(iNum2));

if Operant = '+' then
    begin
        iAns := iNum1 + iNum2;
        pnl1.Caption :=  IntToStr(iAns);
    end
else if Operant = '-' then
    begin
        iAns := iNum1 - iNum2;
        pnl1.Caption :=  IntToStr(iAns);
    end
else if Operant = '*' then
    begin
        iAns := iNum1 * iNum2;
        pnl1.Caption :=  IntToStr(iAns);
    end
else if Operant = '/' then
    begin
        iAns := 5 / 2.0;
        pnl1.Caption :=  FloatToStr(iAns);
    end
end;

end.
更新1

var
  Form1: TForm1;
  iNum1, iNum2, iAns : Integer;
  rNum1, rNum2, rAns : Integer;
  Operant : String;

iAns
被声明为整数。整数类型的变量不能包含像
2.5
这样的非整数值,这是通过
5/2.0
得到的。您需要使用浮点类型来声明
iAns
,例如
double
(或
real
single
extended
:阅读有关这些的说明)

其他一些提示:

  • 5/2
    5/2.0
    一样有效,因为
    /
    运算符始终执行浮点除法。您将获得
    2.5
  • Delphi还有一个整数除法运算符,
    div
    5 div 2
    生成整数
    2

请注意,编译器实际上已经告诉您了。它可能会将您指向
iAns:=5/2.0
行,告诉您
integer
iAns
)的类型与
extended
(右侧的类型)不兼容。

您好,请参阅更新1。还有,我可以把这些基本问题放在哪里?我已经投了1票反对票:(基本问题可以通过谷歌搜索来解决,但更好的做法是尝试、实验、做一个测试项目,在那里你可以尝试不同的代码,并亲自看到差异。这样你就可以通过谷歌搜索和复制/粘贴学到更多solutions@J...我理解这个错误,但从其他语言输入的不是cl让我听听Begging上变量类型声明的重要性。我认为这在将来可能会很有用。与答案下面的评论中告诉您的相反,理解基本语言功能和细节的第一个来源是查看文档。在
RAD Studio中列出的帮助主题中,RAD Studio主题、Delphi参考、Delphi语言指南
您将找到您需要的信息,并避免因提出过于简单的问题而遭到否决。例如,
语言概述
,第1句说:
Delphi是…,强类型语言…
,这应该会让您了解
数据类型、变量和C持续时间