运算符不适用于此操作数类型Delphi

时间:2018-11-22 13:39:44

标签: delphi delphi-7

请有人帮我解决此错误。

  

[错误] 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;

2 个答案:

答案 0 :(得分:5)

您不能将moddiv用于浮点类型,例如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;