Функция math.Mod

Функция math.Mod вычисляет остаток от деления первого числа с плавающей точкой на второе. Первый параметр функции - это делимое (число, которое делят), второй параметр - делитель (число, на которое делят). Функция возвращает остаток от деления. В отличие от оператора %, который работает только с целыми числами, math.Mod поддерживает числа с плавающей точкой.

Функция возвращает результат по формуле x - y * Trunc(x / y), где Trunc - это функция округления к нулю. Знак результата совпадает со знаком делимого или равен нулю.

Синтаксис

gomath.Mod(x, y)

Пример

Давайте вычислим остаток от деления числа 10.5 на 3.2:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  res := math.Mod(10.5, 3.2)
  fmt.Println(res)
}

Результат выполнения кода:

go0.8999999999999995

Пример

Давайте вычислим остаток от деления числа 5.0 на 2.0:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  res := math.Mod(5.0, 2.0)
  fmt.Println(res)
}

Результат выполнения кода:

go1

Пример

Давайте вычислим остаток от деления отрицательного числа -7.5 на 2.5:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  res := math.Mod(-7.5, 2.5)
  fmt.Println(res)
}

Результат выполнения кода:

go-0

Пример

Давайте проверим поведение функции при делении на ноль:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  res := math.Mod(10.0, 0.0)
  fmt.Println(res)
}

Результат выполнения кода:

go+Inf

Смотрите также

  • функцию math.Trunc,
    которая округляет число к нулю
  • функцию math.Floor,
    которая округляет число вниз
  • функцию math.Round,
    которая округляет число к ближайшему целому
  • функцию math.Remainder,
    которая вычисляет остаток от деления по стандарту IEEE 754