Бесконечность в Swift Lang
согласно документации Apple, Swift не поддерживает директивы препроцессора. В C/Objective-C определение "бесконечности" очень полезно для некоторых проверок. Итак, как мне получить номер, который никогда не меньше, чем другой?
4 ответов
уже есть buildin infinity, а также функция проверки. И вы также можете напрямую сравнить их с <.>
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.
для целочисленных значений следует использовать Int.max
.
var highestNumber = Int.max
//if you need negative infinity
var lowestNumber = Int.min
используя NSIntegerMax
вместо Int.max
или -1 * NSIntegerMax
вместо Int.min
эквивалентно, но менее красиво. (Спасибо @Charlesism)
возможно, вы можете попробовать finite
, например,
let x:CDouble = 0.1
finite(x) // which return a CInt
для значений Float,
import UIKit
typealias Space = Float
var MaxSpaceSize = Space.infinity
var space:Space = 1100
space = space * 2