Оператор не применим к этому типу операнда Delphi - PullRequest
0 голосов
/ 22 ноября 2018

Кто-нибудь, помогите мне исправить эту ошибку, пожалуйста.

[Ошибка] 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 голосов
/ 22 ноября 2018

Вы не можете использовать mod или div с типами с плавающей запятой, например Real.В качестве альтернативы предыдущий ответ вы можете использовать это.

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

или просто FMod из System.Math

broj := FMod(broj, 10);
0 голосов
/ 22 ноября 2018

Оператору мода нужно 2 целых числа.broj is real (float).

Используйте это вместо

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