Swift 中的三角函数

Trigonometric functions in Swift

我是 iOS 的初级开发人员。我使用一些在线教程来学习 Swift,现在我正在尝试开发自己的计算器。有一个任务是我自己按下“sin”和“cos”按钮,这将 return 输入值的正弦或余弦函数。

当然,Swift 中有 sin() 和 cos() 函数,但我发现它 return 的值以弧度表示,而不是度数。我确实搜索并找到了代码,就像那样

func sind(degrees: Double) -> Double {
return sin(degrees * M_PI / 180.0)
}

这是我在我的代码中实现的。现在一切正常,按钮 return 的值正确。但是 180 度的正弦值为 0,当我在计算器中输入 180 并按下“sin”按钮时,它 return 是另一个值。 90 度的余弦也一样,应该是 0 但 return 是另一个值。

能否请您解释一下如何修复它? github 处的完整代码:https://github.com/senator14/firstcalculator.git

正弦和余弦函数的问题是M_PI是一个无理数,近似定义为3.14159265358979323846264338327950288,这意味着它有一些错误。

您的问题的一个可能解决方案是输入范围为 -PI/2 到 PI/2。这减少了近似误差。以下将您的范围更改为 -90 到 90 度。

sin(((fmod([=10=], 360) > 270 ? fmod([=10=], 360) - 270 : ((fmod([=10=], 360) > 90) ? 180 - fmod([=10=], 360) : fmod([=10=], 360))) * M_PI / 180.00)) }

引用自here