我想计算一下atan2
在 VBA 中,但我不确定该函数是否存在(或者甚至不确定在哪里可以找到内置 VBA 函数的规范列表)。我没有使用 Excel,因此无法调用工作表。
I could 实施 atan2
我自己,但如果可能的话我宁愿避免这样做。
正如 MarkJ 之前指出的,接受的答案当 X
Function ArcTan2(X As Double, Y As Double) As Double
Private Const PI As Double = 3.14159265358979
Private Const PI_2 As Double = 1.5707963267949
Select Case X
Case Is > 0
ArcTan2 = Atn(Y / X)
Case Is < 0
ArcTan2 = Atn(Y / X) + PI * Sgn(Y)
If Y = 0 Then ArcTan2 = ArcTan2 + PI
Case Is = 0
ArcTan2 = PI_2 * Sgn(Y)
End Select
End Function
它利用了 Sgn(0) 在 x 和 y 都为 0 的情况下返回 0 的优势。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)