Delphi XE7在editbox中使用decimal来划分

Emi*_*Nel 1 delphi delphi-xe7

请帮忙:我的表单上有两个编辑框.我用来输入金额的第一个.我使用的第二个用于分配金额.问题是我尝试一个像5.5一样的小数,我继续得到错误:"'5.5'不是一个有效的整数值".

这是我使用的代码:

var igroei,ipen, iper : integer;
    rgroei, rper : real;

begin
   ipen := strtoint(edtpen.Text); //the amount enter like 35060
   iper := strtoint(edtper.Text); // The number use for the percentage like 5.5
   iper := iper div 100;
   rgroei := ipen + iper;
   pnlpm.Caption := floattostrF(rgroei,ffcurrency,8,2);
end;
Run Code Online (Sandbox Code Playgroud)

谢谢

Ale*_*exV 6

5.5确实不是一个有效的整数.它是一个浮点值.使用StrToFloat()代替StrToInt(),并使用Extended,而不是Integer为变量的类型.

var
  ipen, iper, rgroei : Extended;
begin
  ipen := StrToFloat(edtpen.Text); //the amount enter like 35060
  iper := StrToFloat(edtper.Text); // The number use for the percentage like 5.5
  iper := iper / 100.0;
  rgroei := ipen + iper;
  pnlpm.Caption := FloatToStrF(rgroei, ffcurrency, 8, 2);
end;
Run Code Online (Sandbox Code Playgroud)

您应该阅读以下内容以开始:

整数和浮点数:Delphi中不同的数字类型