Функция math.Modf
Функция math.Modf разделяет число с плавающей точкой на целую и дробную части.
Первый параметр функции — это значение типа float64, которое необходимо разбить.
Функция возвращает два значения типа float64: целую часть (целое число в виде float64)
и дробную часть (значение от 0 до 1 по модулю). При этом знак дробной части соответствует знаку исходного числа.
Синтаксис
math.Modf(x)
Пример
Давайте разделим положительное число 3.14 на целую и дробную части:
package main
import (
"fmt"
"math"
)
func main() {
intPart, fracPart := math.Modf(3.14)
fmt.Printf("Целая часть: %v, Дробная часть: %v\n", intPart, fracPart)
}
Результат выполнения кода:
"Целая часть: 3, Дробная часть: 0.14"
Пример
Теперь разделим отрицательное число -2.71:
package main
import (
"fmt"
"math"
)
func main() {
intPart, fracPart := math.Modf(-2.71)
fmt.Printf("Целая часть: %v, Дробная часть: %v\n", intPart, fracPart)
}
Результат выполнения кода:
"Целая часть: -2, Дробная часть: -0.71"
Пример
Разделим число -5.0, у которого дробная часть равна нулю:
package main
import (
"fmt"
"math"
)
func main() {
intPart, fracPart := math.Modf(-5.0)
fmt.Printf("Целая часть: %v, Дробная часть: %v\n", intPart, fracPart)
}
Результат выполнения кода:
"Целая часть: -5, Дробная часть: 0"
Пример
Разделим число 0.123, у которого целая часть равна нулю:
package main
import (
"fmt"
"math"
)
func main() {
intPart, fracPart := math.Modf(0.123)
fmt.Printf("Целая часть: %v, Дробная часть: %v\n", intPart, fracPart)
}
Результат выполнения кода:
"Целая часть: 0, Дробная часть: 0.123"
Смотрите также
-
функцию
math.Floor,
которая округляет число вниз до ближайшего целого -
функцию
math.Ceil,
которая округляет число вверх до ближайшего целого -
функцию
math.Trunc,
которая отбрасывает дробную часть числа -
функцию
math.Round,
которая округляет число до ближайшего целого по правилам математики