A quiet NaN (“not a number”).
SDK
- Xcode 8.0+
Framework
- Swift Standard Library
Declaration
static var nan: Double { get }
Discussion
A NaN compares not equal, not greater than, and not less than every value, including itself. Passing a NaN to an operation generally results in NaN.
let x = 1.21
// x > Double.nan == false
// x < Double.nan == false
// x == Double.nan == false
Because a NaN always compares not equal to itself, to test whether a floating-point value is NaN, use its is
property instead of the equal-to operator (==
). In the following example, y
is NaN.
let y = x + Double.nan
print(y == Double.nan)
// Prints "false"
print(y.isNaN)
// Prints "true"