请有人帮我解决此错误。
[错误] Unit1.pas(39):运算符不适用于此操作数类型
代码是:
procedure TForm1.Button1Click(Sender: TObject);
var
k: Integer;
broj: Real;
begin
k := StrToInt(Edit1.Text);
if k <= 9 then
broj := k
else
broj := (k + 10) / 2;
if k mod 2 = 0 then
broj := broj / 10
else
broj := broj mod 10; // error line
ShowMessage(FloatToStr(broj));
end;
答案 0 :(得分:5)
您不能将mod
或div
用于浮点类型,例如Real
。
除了previous answer之外,您还可以使用它。
broj := Frac(broj / 10) * 10;
或者只是FMod
中的System.Math
broj := FMod(broj, 10);
答案 1 :(得分:3)
mod运算符需要2个整数。 broj是真实的(浮动)。
改为使用此
broj := broj - Trunc(broj / 10) * 10;