4
任何人都可以幫助我找到一個單元,它定義了Delphi XE3中的MulDiv
函數用於跨平臺使用嗎?其原型是在Windows單元中定義的(通常情況下),OSX下顯然不起作用。是否有跨平臺使用的MulDiv功能?
在Delphi XE3中是否有一個MulDiv
函數用於跨平臺使用?
任何人都可以幫助我找到一個單元,它定義了Delphi XE3中的MulDiv
函數用於跨平臺使用嗎?其原型是在Windows單元中定義的(通常情況下),OSX下顯然不起作用。是否有跨平臺使用的MulDiv功能?
在Delphi XE3中是否有一個MulDiv
函數用於跨平臺使用?
跨平臺使用功能沒有MulDiv
功能,只有從Windows導入的功能。所以,如果你需要的話,你需要自己爲不同的平臺創建這樣的功能。例如拉撒路使用此類似代碼:
function MathRound(AValue: Extended): Int64; inline;
begin
if AValue >= 0 then
Result := Trunc(AValue + 0.5)
else
Result := Trunc(AValue - 0.5);
end;
function MulDiv(nNumber, nNumerator, nDenominator: Integer): Integer;
begin
if nDenominator = 0 then
Result := -1
else
Result := MathRound(Int64(nNumber) * Int64(nNumerator)/nDenominator);
end;
來源lcltype.pp
單元和問題#0009934
。