VBA 中的简单浮点运算抛出错误

Simple floating point arithmetic in VBA throwing error

我在 Excel VBA 模块中有以下代码:

Function f(a, b, c, d)
f = 1.95 * a * (b / c) ^ 0.06 * (d / c) ^ 0.06
End Function

Sub callf()
Debug.Print (f(-7, 10, 3.5, -6))
End Sub

当我 运行 sub callf 我得到一个错误:

Run time error '5': Invalid procedure call or argument

我不知道为什么会这样。我这里不是在做简单的浮点运算吗?有什么想法吗?

因为你是raising -1.7 to the power 0.06. The result是复数