Подтвердить что ты не робот

Беспокойство в Свифт-Ланге

Согласно документации Apple, Swift не поддерживает директивы препроцессора. В C/Objective-c определение "INFINITY" очень полезно для некоторых проверок. Итак, как мне получить число, которое никогда не меньше другого?

4b9b3361

Ответ 1

Существует уже встроенная бесконечность, а также функция проверки. И вы также можете напрямую сравнить их с <.

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.

Ответ 2

Для целых значений вы должны использовать Int.max.

var highestNumber = Int.max

//if you need negative infinity
var lowestNumber = Int.min

Использование NSIntegerMax вместо Int.max или -1 * NSIntegerMax вместо Int.min эквивалентно, но менее красиво. (Спасибо @Charlesism)

Ответ 3

Возможно, вы можете попробовать finite, например,

let x:CDouble = 0.1
finite(x) // which return a CInt

Ответ 4

Для значений Float,

import UIKit

typealias Space = Float

var MaxSpaceSize = Space.infinity

var space:Space = 1100

space = space * 2