Kotlin中Math.toDegrees()计算结果不符合预期问题排查
问题原因与修正方案
你的代码犯了两个关键错误:
- 参数单位错误:
Math.cos()函数要求传入的是弧度值,但你直接传了角度数579.894,导致计算的是579.894弧度的余弦,而非目标角度的余弦值。 - 结果转换逻辑错误:
Math.toDegrees()是用来将弧度值转换为角度的工具,而余弦的结果是范围在-1到1之间的无量纲比值,对这个比值调用toDegrees完全是逻辑错误——你相当于把这个比值当成弧度值转成了角度,这才得到了奇怪的-15.29这个结果。
正确代码
要得到和谷歌计算器一致的结果,你需要先把角度转换为弧度,再计算余弦:
Math.cos(Math.toRadians(579.894))
运行这段代码就能得到你需要的 -0.76723232005 左右的结果。
内容的提问来源于stack exchange,提问作者Prasad Manjula
相关产品推荐
相关产品推荐

