Функция math.Mod
Функция math.Mod вычисляет остаток от деления первого числа с плавающей точкой на второе.
Первый параметр функции - это делимое (число, которое делят), второй параметр - делитель (число, на которое делят).
Функция возвращает остаток от деления. В отличие от оператора %, который работает только с целыми числами,
math.Mod поддерживает числа с плавающей точкой.
Функция возвращает результат по формуле x - y * Trunc(x / y), где Trunc - это функция округления к нулю.
Знак результата совпадает со знаком делимого или равен нулю.
Синтаксис
math.Mod(x, y)
Пример
Давайте вычислим остаток от деления числа 10.5 на 3.2:
package main
import (
"fmt"
"math"
)
func main() {
res := math.Mod(10.5, 3.2)
fmt.Println(res)
}
Результат выполнения кода:
0.8999999999999995
Пример
Давайте вычислим остаток от деления числа 5.0 на 2.0:
package main
import (
"fmt"
"math"
)
func main() {
res := math.Mod(5.0, 2.0)
fmt.Println(res)
}
Результат выполнения кода:
1
Пример
Давайте вычислим остаток от деления отрицательного числа -7.5 на 2.5:
package main
import (
"fmt"
"math"
)
func main() {
res := math.Mod(-7.5, 2.5)
fmt.Println(res)
}
Результат выполнения кода:
-0
Пример
Давайте проверим поведение функции при делении на ноль:
package main
import (
"fmt"
"math"
)
func main() {
res := math.Mod(10.0, 0.0)
fmt.Println(res)
}
Результат выполнения кода:
+Inf
Смотрите также
-
функцию
math.Trunc,
которая округляет число к нулю -
функцию
math.Floor,
которая округляет число вниз -
функцию
math.Round,
которая округляет число к ближайшему целому -
функцию
math.Remainder,
которая вычисляет остаток от деления по стандарту IEEE 754