web-dev-qa-db-ja.com

INFINITY in Swift Lang

Appleのドキュメントによると、Swiftはプリプロセッサディレクティブをサポートしていません。C/ Objective-cでは、 "INFINITY"定義は一部のチェックに非常に役立ちます。もう少し少ないですか?

21
Daniel

ビルトインインフィニティとチェック関数がすでにあります。また、直接<と比較することもできます。

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.
35
sunkehappy

整数値の場合は、Int.maxを使用する必要があります。

var highestNumber = Int.max

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

Int.maxの代わりにNSIntegerMaxを使用することも、-1 * NSIntegerMaxの代わりにInt.minを使用することも同等ですが、見栄えがよくありません。 (@Charlesismに感謝)

7
eLillie

Float値の場合、

import UIKit

typealias Space = Float

var MaxSpaceSize = Space.infinity

var space:Space = 1100

space = space * 2
0
Durul Dalkanat

たとえば、finiteを試すことができます。

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