Volver a la página principal
miércoles 19 marzo 2025
2

Cómo redondear en Go

En Go, el paquete math proporciona funciones para redondear números, como math.Round(), math.Floor() y math.Ceil(). También se pueden usar trucos matemáticos para redondear a un número específico de decimales.

Métodos para redondear en Go

math.Round() – Redondeo al entero más cercano

La función math.Round() redondea un número flotante (float64) al entero más cercano.

package main

import (
	"fmt"
	"math"
)

func main() {
	fmt.Println(math.Round(3.75))  // Resultado: 4
	fmt.Println(math.Round(3.25))  // Resultado: 3
	fmt.Println(math.Round(-3.5))  // Resultado: -4
}

math.Floor() – Redondeo hacia abajo

La función math.Floor() devuelve el entero menor más cercano.

fmt.Println(math.Floor(3.75))  // Resultado: 3
fmt.Println(math.Floor(-3.25)) // Resultado: -4

math.Ceil() – Redondeo hacia arriba

La función math.Ceil() devuelve el entero mayor más cercano.

fmt.Println(math.Ceil(3.25))  // Resultado: 4
fmt.Println(math.Ceil(-3.75)) // Resultado: -3

Cómo redondear a dos decimales en Go

Go no tiene una función nativa para redondear a un número específico de decimales, pero se puede hacer con matemáticas:

func RoundToDecimals(num float64, decimals int) float64 {
	factor := math.Pow(10, float64(decimals))
	return math.Round(num*factor) / factor
}

func main() {
	fmt.Println(RoundToDecimals(3.14159, 2)) // Resultado: 3.14
}

Referencias

Etiquetas:
go
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer