Функция math.Signbit
Функция math.Signbit проверяет, является ли переданное число отрицательным. Она возвращает true, если число отрицательное, и false в противном случае. Первым и единственным параметром функция принимает число типа float64, знак которого необходимо проверить.
Синтаксис
math.Signbit(x)
Пример
Давайте проверим знак положительного числа:
package main
import (
"fmt"
"math"
)
func main() {
res := math.Signbit(123.45)
fmt.Println(res)
}
Результат выполнения кода:
false
Пример
Давайте проверим знак отрицательного числа:
package main
import (
"fmt"
"math"
)
func main() {
res := math.Signbit(-45.67)
fmt.Println(res)
}
Результат выполнения кода:
true
Пример
Функция корректно обрабатывает ноль, который не является отрицательным числом:
package main
import (
"fmt"
"math"
)
func main() {
res := math.Signbit(0.0)
fmt.Println(res)
}
Результат выполнения кода:
false
Пример
Особенность работы функции заключается в том, что она различает положительный и отрицательный ноль:
package main
import (
"fmt"
"math"
)
func main() {
positiveZero := 0.0
negativeZero := -0.0
fmt.Println(math.Signbit(positiveZero))
fmt.Println(math.Signbit(negativeZero))
}
Результат выполнения кода:
false
true
Смотрите также
-
функцию
math.Abs,
которая возвращает абсолютное значение числа -
функцию
math.Copysign,
которая копирует знак одного числа к другому -
функцию
math.IsNaN,
которая проверяет, является ли число нечисловым значением -
функцию
math.IsInf,
которая проверяет, является ли число бесконечностью