La función entera más cercana en Python

click fraud protection

Tal vez como testimonio de su reputación como un lenguaje de programación potente y flexible, Python contiene muchas bibliotecas internas para automatizar tareas matemáticas y computacionales comunes o complejas. La "biblioteca matemática" contiene muchos métodos para realizar cálculos u operaciones típicas como el redondeo. Sin embargo, redondear decimales en Python no se redondea a un número entero, sino a un decimal entero. La conversión a números enteros requiere el uso de la biblioteca matemática de Python junto con el uso de algunas bibliotecas de conversión integradas.

Python y redondeo

La biblioteca matemática de Python ofrece un paquete de métodos útiles para redondear números decimales a números enteros. Puede redondear un número de la forma tradicional (hacia abajo al número entero más cercano para partes fraccionarias a .4 o menos, y hacia arriba para partes .5 y mayores) usando el método "round ()". El siguiente ejemplo muestra cómo redondear números decimales utilizando el método de redondeo:

Video del día

f = 5.455 >>> round (f) 5.0 >>> round (f, 2) // redondea a 2 decimales 5.46

Métodos de techo y suelo

Como parte de la biblioteca matemática, los métodos "floor ()" y "ceil ()" proporcionan una forma única de redondear decimales que puede resultarle útil en ciertos cálculos. El método de piso redondea hacia abajo al número entero más cercano hacia el infinito negativo (independientemente de el valor decimal), y el método de techo redondeará al número entero más cercano hacia positivo infinito. El siguiente ejemplo muestra cómo funcionan las dos funciones:

importar matemáticas >>> f = 3.5 >>> g = -3.5 >>> piso (f) 3.0 >>> ceil (3.5) 4.0 >>> piso (g) -4.0 >>> ceil (g) -3.0

Redondeo y enteros

Las operaciones de redondeo ilustradas muestran cómo funcionan estas funciones, pero también muestran un efecto secundario: en las versiones de Python anteriores a la 3.0, los decimales redondeados no se redondean a números enteros, sino a decimales. Debido a la forma en que las arquitecturas de computadora representan los decimales, esto podría causar problemas en los cálculos de alta precisión donde los programadores pueden requerir números enteros. Puedes convertir un número flotante en un entero usando el método "int ()", como en este ejemplo:

f = 3.5 >>> ronda (f) 4.0 >>> int (ronda (f)) 4

Método de ejemplo

Con este conocimiento, puede desarrollar un método para redondear decimales a números enteros fácilmente. Los siguientes ejemplos muestran breves ejemplos de métodos que determinan el piso y el techo de un número como un número entero, y otro que se redondea a un lugar decimal designado por el usuario (o un número entero):

importar matemáticas >>> def integerFloor (x):. .. return int (piso (x)) >>> def integerCeiling (x):. .. return int (ceil (x)) >>> def redondeo (x, dec):. .. si dec == 0:. .. return int (round (x))... demás:... volver (ronda (x, dec))