Функция math.RoundToEven

Функция math.RoundToEven округляет переданное число до ближайшего целого значения. Особенность этой функции заключается в том, что она использует правило "банковского округления": если число находится ровно посередине между двумя целыми значениями (дробная часть равна 0.5), то округление происходит к ближайшему четному числу. В первый параметр мы передаем число с плавающей точкой типа float64, которое нужно округлить. Функция возвращает округленное значение также типа float64.

Синтаксис

gomath.RoundToEven(x)

Пример

Давайте округлим число 12.5, которое находится ровно посередине между 12 и 13. По правилу банковского округления результат должен быть 12 (ближайшее четное):

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  res := math.RoundToEven(12.5)
  fmt.Println(res)
}

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

go12

Пример

Теперь округлим число 13.5, которое также находится посередине между 13 и 14. Ближайшим четным числом является 14, поэтому результат будет 14:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  res := math.RoundToEven(13.5)
  fmt.Println(res)
}

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

go14

Пример

Для чисел, которые не находятся ровно посередине, функция работает как обычное округление. Округлим число 12.6, которое ближе к 13, чем к 12:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  res := math.RoundToEven(12.6)
  fmt.Println(res)
}

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

go13

Пример

Рассмотрим округление отрицательного числа -15.5. Ближайшими целыми значениями являются -15 и -16, из которых четным является -16:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  res := math.RoundToEven(-15.5)
  fmt.Println(res)
}

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

go-16

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

  • функцию math.Round,
    которая округляет число до ближайшего целого (от 0.5 вверх)
  • функцию math.Floor,
    которая округляет число вниз до ближайшего целого
  • функцию math.Ceil,
    которая округляет число вверх до ближайшего целого
  • функцию math.Trunc,
    которая отбрасывает дробную часть числа