根据Apple的文档,Swift不支持预处理器指令。在C / Objective-c中," INFINITY"定义对某些检查非常有用。 那么,我如何获得一个永远不会少于另一个的数字?
答案 0 :(得分:32)
已经建立无限并且还有检查功能。您也可以直接将它们与<。
进行比较var infinity = Double.infinity
var isInfinite = infinity.isInfinite
var someDouble = 234432.0
if someDouble < infinity {
println("Less than")
} else {
println("Small than")
}
// And the answer is Less than.
答案 1 :(得分:5)
对于整数值,您应该使用Int.max
。
var highestNumber = Int.max
//if you need negative infinity
var lowestNumber = Int.min
使用NSIntegerMax
代替Int.max
或-1 * NSIntegerMax
而不是Int.min
是相同的,但不那么漂亮。 (谢谢@Charlesism)
答案 2 :(得分:0)
也许你可以试试finite
,例如,
let x:CDouble = 0.1
finite(x) // which return a CInt
答案 3 :(得分:0)
对于Float值,
import UIKit
typealias Space = Float
var MaxSpaceSize = Space.infinity
var space:Space = 1100
space = space * 2