Функция math.IsNaN

Функция math.IsNaN проверяет, представляет ли переданное ей число значение NaN (Not-a-Number). Она возвращает true, если число является NaN, и false в противном случае. В единственный параметр функция принимает число с плавающей точкой типа float64, которое необходимо проверить.

Синтаксис

gomath.IsNaN(x)

Пример

Давайте проверим, является ли результат деления нуля на ноль значением NaN:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  res := math.IsNaN(0.0 / 0.0)
  fmt.Println(res)
}

Результат выполнения кода:

gotrue

Пример

Давайте проверим обычное число, например 42, на значение NaN:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  res := math.IsNaN(42.0)
  fmt.Println(res)
}

Результат выполнения кода:

gofalse

Пример

Проверим значение бесконечности, чтобы убедиться, что она не является NaN:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  inf := math.Inf(1)
  res := math.IsNaN(inf)
  fmt.Println(res)
}

Результат выполнения кода:

gofalse

Пример

Получим значение NaN с помощью функции math.NaN и проверим его:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  nan := math.NaN()
  res := math.IsNaN(nan)
  fmt.Println(res)
}

Результат выполнения кода:

gotrue

Смотрите также

  • функцию math.NaN,
    которая возвращает значение NaN
  • функцию math.IsInf,
    которая проверяет, является ли число бесконечностью
  • функцию math.Inf,
    которая возвращает значение бесконечности
  • функцию math.Signbit,
    которая проверяет знак числа