gpt4 book ai didi

delphi - Delphi中使用Power时出错

转载 作者:行者123 更新时间:2023-12-02 04:06:09 24 4
gpt4 key购买 nike

我的程序中有以下函数,它给了我一个 EInvalidOp(无效浮点运算):

function TMyProgram.GetVal(A, B, C, D, E: double): double;

begin

Result := A/Power((C - D)/(D - B), 1/E);

end;

参数的值为:

答:320.068,乙:84.46,C:91.632,日:24.15,E:11

Excel 给我的结果是 -316.815,但是当我执行这个函数时,Delphi 给我一个错误。

最佳答案

我做了更多研究。问题是将负基数提升为小数指数。在您的特定情况下,您可以通过执行以下操作使用数学恒等式来解决它:

function TMyProgram.GetVal(A, B, C, D: Double; E: Integer): double;
begin
if Odd(E) and ((C - D)/(D - B) < 0) then
Result := A/-Power(Abs((C - D)/(D - B)), 1/E)
else
Result := A/Power((C - D)/(D - B), 1/E);
end;

仅当 E 为奇数时才有效。

关于delphi - Delphi中使用Power时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24254134/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com