En este post vamos a ver cómo usar funciones de Math en C# para redondear números. A mi modo de ver existen 3 maneras de redondear números:

Redondear basándose en la parte fraccionaria. En este caso si es mayor o igual que .5 sube, y si no, baja.

Las otras 2 maneras son forzar el redondeo hacia abajo y forzar el redondeo hacia arriba sin importar la parte fraccionaria.

3 Métodos para redondear con C#

Para redondear hacia abajo se utiliza Math.Floor, para redondear hacia arriba usamos Math.Ceiling y finalmente, para redondear basándose en la parte que va después del punto usamos Math.Round.

Recordemos que al redondear un número se devuelve un entero, por eso es que se llama redondear o round.

Ejemplos de redondeo con C#

El código que demuestra el redondeo es el siguiente:

/*
  Demostrar 3 formas de redondear números en C#

  @author parzibyte
*/
using System;

class MainClass {
  public static void Main (string[] args) {
    // Para dedondear de modo que:
    // * Mayor o igual que .5 sube
    // * Menor que .5 baja
    // Usa Math.Round
    Console.WriteLine("Round(1.1): {0}", Math.Round(1.1));
    Console.WriteLine("Round(1.58): {0}", Math.Round(1.58));
    Console.WriteLine("Round(50.9): {0}", Math.Round(50.9));
    Console.WriteLine("Round(15.1): {0}", Math.Round(15.1));
    // Si quieres forzar el redondeo hacia abajo
    // utiliza Math.Floor. Eso hace que tanto .1 hasta .9 bajen
    Console.WriteLine("Floor(1.1): {0}", Math.Floor(1.1));
    Console.WriteLine("Floor(1.58): {0}", Math.Floor(1.58));
    Console.WriteLine("Floor(50.9): {0}", Math.Floor(50.9));
    Console.WriteLine("Floor(15.1): {0}", Math.Floor(15.1));
    // Si quieres forzar el redondeo hacia arriba
    // utiliza Math.Ceiling. Eso hace que tanto .1 hasta .9 suban
    Console.WriteLine("Ceiling(1.1): {0}", Math.Ceiling(1.1));
    Console.WriteLine("Ceiling(1.58): {0}", Math.Ceiling(1.58));
    Console.WriteLine("Ceiling(50.9): {0}", Math.Ceiling(50.9));
    Console.WriteLine("Ceiling(15.1): {0}", Math.Ceiling(15.1));
  }
}

Puedes ejecutarlo aquí.

Como siempre, te invito a leer más sobre C# y matemáticas.

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto