L'INFINI dans la Swift Lang
Question
Selon la documentation d'Apple, Swift ne prend pas en charge les directives de préprocesseur.En C/Objective-c, le "INFINI" définition est très utile pour certains contrôles.Alors, Comment puis-je obtenir un numéro qui n'est jamais moins qu'un autre?
La solution
Il y a déjà une buildin infini et une fonction de contrôle.Et vous pouvez également les comparer directement avec <.
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.
Autres conseils
Pour les valeurs entières, vous devez utiliser Int.max
.
var highestNumber = Int.max
//if you need negative infinity
var lowestNumber = Int.min
À l'aide de NSIntegerMax
au lieu de Int.max
ou -1 * NSIntegerMax
au lieu de Int.min
qui est équivalent, mais moins joli.(Merci @Charlesism)
Peut-être que vous pouvez essayer finite
, par exemple,
let x:CDouble = 0.1
finite(x) // which return a CInt
pour les valeurs de flotteur,
import UIKit
typealias Space = Float
var MaxSpaceSize = Space.infinity
var space:Space = 1100
space = space * 2
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow