Функция math.IsInf
Функция math.IsInf проверяет, является ли число с плавающей точкой бесконечностью.
В первый параметр мы передаем число типа float64 для проверки,
во второй параметр мы передаем целочисленный флаг sign,
который определяет, какую именно бесконечность нужно проверить:
если sign больше нуля, функция проверяет положительную бесконечность,
если sign меньше нуля — отрицательную,
если sign равен нулю — любую бесконечность.
Синтаксис
math.IsInf(f float64, sign int) bool
Пример
Давайте проверим, является ли результат деления на ноль положительной бесконечностью:
package main
import (
"fmt"
"math"
)
func main() {
f := 1.0 / 0.0
res := math.IsInf(f, 1)
fmt.Println(res)
}
Результат выполнения кода:
true
Пример
Давайте проверим, является ли результат деления на ноль отрицательной бесконечностью:
package main
import (
"fmt"
"math"
)
func main() {
f := -1.0 / 0.0
res := math.IsInf(f, -1)
fmt.Println(res)
}
Результат выполнения кода:
true
Пример
Давайте проверим, является ли число любой бесконечностью с флагом sign равным нулю:
package main
import (
"fmt"
"math"
)
func main() {
positiveInf := 1.0 / 0.0
negativeInf := -1.0 / 0.0
normal := 42.0
fmt.Println(math.IsInf(positiveInf, 0))
fmt.Println(math.IsInf(negativeInf, 0))
fmt.Println(math.IsInf(normal, 0))
}
Результат выполнения кода:
true
true
false
Смотрите также
-
функцию
math.IsNaN,
которая проверяет, является ли число значением NaN -
функцию
math.Inf,
которая возвращает бесконечность с заданным знаком -
функцию
math.Signbit,
которая возвращает знак числа -
функцию
math.NaN,
которая возвращает значение NaN