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