Swift Lang中的无限性

时间:2014-06-04 03:22:59

标签: swift infinity

根据Apple的文档,Swift不支持预处理器指令。在C / Objective-c中," INFINITY"定义对某些检查非常有用。 那么,我如何获得一个永远不会少于另一个的数字?

4 个答案:

答案 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