math函数在Swift中

我一直在阅读文档,但似乎无法find答案。

如何使用sqrt()floor()round()sin()等math函数?


在这里输入图像说明

正如其他指出,你有几个选项。 如果你只想要math函数。 你只能导入达尔文。

 import Darwin 

如果你想要mathfunction和其他标准的类和function。 你可以导入基金会。

 import Foundation 

如果你想要的一切,还有用户界面的类,这取决于如果你的操场是OS X或iOS。

对于OS X,您需要导入Cocoa。

 import Cocoa 

对于iOS,您需要导入UIKit。

 import UIKit 

您可以通过打开File Inspector(⌥⌘1)轻松发现您的游乐场平台。

游乐场设置 - 平台

达尔文就够完美了。 不需要导入整个Cocoa框架。

 import Darwin 

当然,如果你需要Cocoa或者Foundation或者其他更高级的框架的元素,你可以导入它们

对于在Linux上使用swift [2.2]的人,即Ubuntu,导入是不同的!

正确的方法是使用Glibc。 这是因为在OS X和iOS上,基本的类似于Unix的API在Darwin中,而在Linux中,它们位于Glibc中。 导入基金会在这里不会帮助你,因为它不能自行区分。 要做到这一点,你必须明确地导入它自己:

 #if os(OSX) || os(iOS) import Darwin #elseif os(Linux) import Glibc #endif 

您可以按照这里的基础框架的发展了解更多

你可以直接使用它们:

 var square = 9.4 var floored = floor(square) var root = sqrt(floored) println("Starting with \(square), we rounded down to \(floored), then took the square root to end up with \(root)") 

要使用math函数,您必须import Cocoa

您可以通过以下方式查看其他定义的math函数。 进行Cmd – 点击函数名称sqrt然后用所有其他全局math函数和常量input文件。

文件的一小段

 ... func pow(_: CDouble, _: CDouble) -> CDouble func sqrtf(_: CFloat) -> CFloat func sqrt(_: CDouble) -> CDouble func erff(_: CFloat) -> CFloat ... var M_LN10: CDouble { get } /* loge(10) */ var M_PI: CDouble { get } /* pi */ var M_PI_2: CDouble { get } /* pi/2 */ var M_SQRT2: CDouble { get } /* sqrt(2) */ ...