Функция math.Copysign
Функция math.Copysign возвращает число с величиной первого аргумента,
но со знаком второго аргумента. В первый параметр мы передаем число,
величина которого будет сохранена, во второй параметр мы передаем число,
знак которого будет скопирован. Функция возвращает float64.
Синтаксис
gomath.Copysign(x, y)
Пример
Давайте скопируем знак положительного числа в отрицательное:
gopackage main
import (
"fmt"
"math"
)
func main() {
res := math.Copysign(-10.0, 5.0)
fmt.Println(res)
}
Результат выполнения кода:
go10
Пример
Давайте скопируем знак отрицательного числа в положительное:
gopackage main
import (
"fmt"
"math"
)
func main() {
res := math.Copysign(10.0, -5.0)
fmt.Println(res)
}
Результат выполнения кода:
go-10
Пример
Давайте скопируем знак нуля:
gopackage main
import (
"fmt"
"math"
)
func main() {
res1 := math.Copysign(10.0, 0.0)
res2 := math.Copysign(10.0, -0.0)
fmt.Println(res1, res2)
}
Результат выполнения кода:
go10 -10
Пример
Давайте проверим, что функция корректно работает с бесконечностью:
gopackage main
import (
"fmt"
"math"
)
func main() {
res := math.Copysign(math.Inf(1), -5.0)
fmt.Println(res)
}
Результат выполнения кода:
go-Inf
Пример
Давайте скопируем знак от NaN:
gopackage main
import (
"fmt"
"math"
)
func main() {
res := math.Copysign(10.0, math.NaN())
fmt.Println(res)
}
Результат выполнения кода:
go10
Смотрите также
-
функцию
math.Abs,
которая возвращает абсолютное значение числа -
функцию
math.Signbit,
которая определяет, является ли число отрицательным -
функцию
math.Max,
которая возвращает большее из двух чисел -
функцию
math.Min,
которая возвращает меньшее из двух чисел