将包含弧度的Excel公式转换为VB.NET或C#

时间:2019-07-19 13:34:48

标签: excel vb.net excel-formula converters

我正在尝试将Excel公式转换为VB.NET。该公式可在Excel中完美运行,我希望在我的应用程序中使用它。

这是我要转换的公式:

D7 = 53.48559

E7 = -2.85325

D8 = 53.90434

E8 = -1.69225

=6371*ACOS(COS(RADIANS(90-D7))*COS(RADIANS(90-D8)) +SIN(RADIANS(90-D7))*SIN(RADIANS(90-D8))*COS(RADIANS(E7-E8))) / 1.609

据我所知:

Dim Distance = 6371 * Math.Acos(Math.Cos(Math.RADIANS(90 - Latitude1)) * Math.Cos(Math.RADIANS(90 - Longitude1)) + Math.Sin(Math.RADIANS(90 - Latitude1)) * Math.Sin(Math.RADIANS(90 - Longitude1)) * Math.Cos(Math.RADIANS(Longitude1 - Longitude2))) / 1.609

问题在于弧度.....有人有什么想法吗?

我已经尝试了很多来自Internet的代码段,但是找不到与Excel公式最接近的内容

1 个答案:

答案 0 :(得分:0)

这会将度转换为弧度。只需调用此函数即可代替Math.RADIANS()

Public Function DegreeToRadian(angleInDegrees As Double) As Double
    Return angleInDegrees * (Math.PI / 180.0)
End Function