C# (C Sharp)

Redondear números en C#

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.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

  • ("...En este caso si es mayor o igual que .5 sube...").

    Ejemplo con 4,5. estoy probando y me da:

    4 con math.floor.
    4. con math.round
    5 con math.ceiling.

    me sorprende el resultado con math.round, porque tenía asumido el texto en comillas.

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 hora hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

6 días hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

6 días hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

6 días hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

6 días hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

6 días hace

Esta web usa cookies.