[英]Delphi: “Incompatible types Integer and Extended”
我目前面臨無法將我的 ClientWidth 除以 2(或乘以 0.5,因為 Delphi 給我的錯誤消息)的問題:
[Error] Unit1.pas(59): Incompatible types: 'Integer' and 'Extended'
[Error] Unit1.pas(60): Incompatible types: 'Integer' and 'Extended'
[Error] Unit1.pas(61): Incompatible types: 'Integer' and 'Extended'
procedure TForm1.FormResize(Sender: TObject);
begin
// responsive design
with form1 do begin
cmdFakultat.left:=0.5*ClientWidth-60;
txtEingabe.left:=0.5*ClientWidth-60;
lblAusgabe.left:=0.5*ClientWidth-60;
end;
end;
end.
整數只能包含整數(我假設 lblAusgabe.left 是一個整數)。 您嘗試分配給它的值有一個小數點。 小數點數字可以在 Pascal 中以實數、雙精度或擴展值存儲。 要將帶分數的數字轉換為整數,您可以使用 round() 函數對其進行四舍五入,也可以使用 trunc() 函數丟棄小數點后的部分。
另一種解決方案是用整數計算您需要的值。 例如:
cmdFakultat.left := ClientWidth div 2-60;
Div 除以整數並返回一個整數值,丟棄小數點后面的任何內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.