Delphi XE7在editbox中使用decimal来划分

时间:2015-09-17 17:01:02

标签: 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;

谢谢

1 个答案:

答案 0 :(得分: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;

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

Integer and floating point numbers: The different number types in Delphi