Redondear un número en Python

Syed Moiz Haider 30 enero 2023
  1. Utilice la función math.ceil() para redondear un número en Python 2.x
  2. Use aritmética simple para redondear un número en Python
  3. Utilice el operador de división de piso para redondear un número en Python
  4. Utilice el método numpy.ceil() para redondear un número en Python
Redondear un número en Python

Este tutorial explica diferentes métodos para explicar el concepto de redondear un número. Hay varias formas de redondear un número de la forma correcta. Por ejemplo, un número se puede redondear usando el módulo math proporcionado por Python, usando el módulo NumPy, y así sucesivamente. El tutorial explicará estos diferentes métodos utilizando fragmentos de código de ejemplo.

Utilice la función math.ceil() para redondear un número en Python 2.x

Si está usando la versión Python 2.x, puede usar la función math.ceil() para redondear un número correctamente. La función ceil() es proporcionada por la biblioteca math de Python. Por tanto, primero debemos importar la biblioteca math. La función ceil toma el número que debe redondearse. Puede tomar una expresión y redondear el número resultante según los resultados.

Sin embargo, debe tenerse en cuenta que en Python 2.x, int/int produce int, y int/float da como resultado un float. Así que necesitamos dar uno de los valores en float a la función ceil para obtener resultados precisos. Si ambos valores de una expresión en la función ceil es un número entero, puede producir resultados incorrectos.

A continuación se muestra un código de ejemplo para ilustrar el concepto de cómo usar math.ceil() para redondear un número en Python 2.x.

import math

print(math.ceil(27 / 4))
print(math.ceil(27.0 / 4))

Producción :

6
7

Use aritmética simple para redondear un número en Python

Un número también se puede redondear usando aritmética simple en Python. Este método es aplicable a todas las versiones de Python. Convierte la primera expresión en un tipo de datos integer y agrega 0 o 1 valor según el resultado de otra expresión. Otra expresión encuentra el módulo del número con el mismo denominador y comprueba si es mayor que 0 o no. Si el resto es mayor que 0, agrega uno a la primera expresión, y si es falso, agrega 0 a la primera expresión.

A continuación se proporciona un código de ejemplo para explicar cómo usar aritmética simple para redondear un número en Python sin importar la biblioteca math.

n = 22
div = 5
print(int(n / div) + (n % div > 0))

Producción :

5

Utilice el operador de división de piso para redondear un número en Python

El símbolo del operador de división de piso es //. Funciona de la misma forma que un operador de división simple, /, pero también redondea el número hacia abajo. Por lo tanto, generalmente se usa para redondear el número en Python. Sin embargo, también podemos modificar su uso para redondear un número. Podemos hacerlo negando la respuesta dividiendo números negativos. Ahorrará el costo de cualquier importación o uso de flotación y cualquier otra condición. Funciona solo con números enteros.

A continuación, se proporciona un código de ejemplo para explicar cómo usar el operador de división de piso para redondear un número en Python.

n = 22
div = 5
answer = -(-n // div)
print(answer)

Producción :

5

De manera similar, podemos redondear un número sumando el denominador al numerador y restando 1 de él. Entonces toda la expresión se dividirá por el suelo con el denominador. Es un método sencillo que no involucra puntos flotantes ni módulos externos. A continuación se proporciona un código de ejemplo de este método.

numerator = 22
denominator = 5
answer = (numerator + denominator - 1) // denominator
print(answer)

Producción :

5

Utilice el método numpy.ceil() para redondear un número en Python

Otro método para redondear un número es utilizar el método numpy.ceil(). Primero, necesitamos importar el módulo NumPy en el script y luego usar el método ceil() para redondear un número. El tipo de retorno de la función ceil() es float, por lo que incluso si la expresión está en números enteros, la salida estará en float. La salida se puede convertir explícitamente en un tipo de datos entero convirtiéndolo explícitamente en un entero.

A continuación se proporciona un código de ejemplo de este método para redondear un número en Python.

import numpy as nmp

n = 22
div = 5
answer = n / div
print(nmp.ceil(answer))
print(int(nmp.ceil(answer)))

Producción :

5.0
5
Syed Moiz Haider avatar Syed Moiz Haider avatar

Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.

LinkedIn

Artículo relacionado - Python Number