Algoritmos

Redondear si parte decimal es 0.5

Al redondear números en cualquier lenguaje de programación como puede ser Python, Java, JavaScript, PHP, C, etcétera podemos usar floor, round y ceil para redondear hacia abajo, dependiendo del número o hacia arriba.

Redondear si parte decimal termina en 0.5 – Ejemplo de código

Sin embargo cuando usamos round para redondear dependiendo del número, pasa algo. Si el número termina en .5 sube al siguiente, por ejemplo el 6.5 sube a 7.

En ocasiones necesitamos que el número se redondee hacia abajo si su parte decimal es 0.5 o menos, y se redondee hacia arriba si no lo es.

Así que en este post te mostraré cómo redondear dependiendo si el número termina en 0.5 sin importar el lenguaje de programación.

El algoritmo para redondear

Primero debemos sacar la parte entera del número, redondeado hacia abajo. Después sacar la diferencia del número original y su parte decimal para extraer el sobrante.

Si el sobrante es menor o igual a 0.5, redondeamos el número original hacia abajo. Si no, hacia arriba.

Pseudocódigo

En algo parecido a pseudocódigo o una fórmula, quedaría así:

See the gist on github.

Obviamente en lugar de usar funciones de redondeo puedes convertir el valor decimal a entero, además de que para redondear hacia arriba o hacia abajo solo tendrías que sumar o restar 1.

Ejemplo en C

Para acompañar el post con algo de código veamos la siguiente función en C:

See the gist on github.

Puedes probar el código aquí.

Ejemplo con JavaScript

La misma función pero en JavaScript usando Math queda así:

See the gist on github.

Recuerda que ya te he explicado lo que hace ceil y floor en otro post. Si quieres probar el código puedes hacerlo aquí.

Y con eso terminamos el post. Obviamente la función se puede portar a otros lenguajes de programación pues es muy simple.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

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/

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

13 horas hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

1 día hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

1 día hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

2 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

1 semana hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

1 semana hace

Esta web usa cookies.