如何在 Swift 中得到数学 PI 常数

我试图找到一个方法到 在我的 Swift 代码中包含 PI 常量。我已经在另一个答案中找到了帮助,那就是 import Darwin,我知道它可以让我访问 C 函数

我还检查了 Darwin中的 Math软件包,发现了以下声明:

var M_PI: Double { get } /* pi */

所以,我假设有一种方法可以在代码中使用 PI,我只是不知道 怎么做..。

82271 次浏览

对于 Swift 3 & 4,pi 现在定义为浮点数类型 DoubleFloatCGFloat上的静态变量,因此不再需要特定的导入:

Double.pi
Float.pi
CGFloat.pi

还要注意,编译器可以推断出 .pi的实际类型。因此,在你使用的上下文很清楚的情况下,例如 CGFloat,你可以使用 .pi(感谢@Qbyte 和@rickster 在评论中指出这一点)。

对于 老版本的斯威夫特:

M_PI最初是在 Darwin中定义的,但也包含在 FoundationUIKit中,因此导入其中的任何一个都可以提供正确的访问权限。

import Darwin // or Foundation or UIKit


let pi = M_PI

注: 正如注释中提到的,在 Swift 中 pi 也可以用作 Unicode字符,所以不妨这样做

let π = M_PI

alt + p是创建 π Unicode字符的快捷键(在美式键盘上)。

不需要 import Darwin,使用 import Foundation可以看到所有的 M _ x

(Xcode Version 6.4(6E35b))

警告: 不推荐使用“ M _ PI”: 请使用“ Double.PI”或“ . PI”来获取正确的类型值,并避免强制转换。

令人惊讶的是,. pi 也工作得很好。 从 Swift 4.2.1,Xcode 10.1开始,不推荐使用 M _ PI,这是我正在使用的当前版本。那么,使用。圆周率,或者双圆周率