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

Operator not applicable to this operand type Delphi

请有人帮我解决这个错误。

[Error] Unit1.pas(39): Operator not applicable to this operand type

代码是:

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;

mod 运算符需要 2 个整数。 broj 是真实的(浮动)。

改用这个

broj := broj - Trunc(broj / 10) * 10;

您不能将 moddiv 用于浮点类型,例如Real。 除了 你可以使用这个。

broj := Frac(broj / 10) * 10;

或者只是 FMod 来自 System.Math

broj := FMod(broj, 10);