En este post voy a explicar cómo separar un número y obtener su parte entera y su parte fraccional o decimal usando Python.
Por ejemplo, a partir del número 80.1265 obtener el entero (80) y la parte decimal (.1265) evitando usar cadenas, simplemente funciones matemáticas.
Función modf
Al igual que cuando hicimos este ejercicio en C, vamos a usar la función modf que viene dentro de math. Hay que importar a math con:
import math
Después podemos llamar a math.modf, función que va a devolver una tupla o dos variables. La primer variable será la parte decimal y la segunda la parte entera. Por lo tanto la sintaxis es:
parte_decimal, parte_entera = math.modf(numero)
Abajo veremos un ejemplo.
Ejemplo de uso de modf para separar entero y decimal
Le pasamos un número a modf y devolverá dos variables.
Si quieres probarlo en línea haz click aquí.
3 Comentarios
ELKI · marzo 28, 2022 a las 8:58 pm
el problema con modf, es que distorsiona algunas veces el valor que introduces
import math
numero=1010.101
decimal, entero = math.modf(numero)
print(decimal)# 0.0.10099999999999909
print(entero)# 1010.0
parzibyte · marzo 28, 2022 a las 10:09 pm
Creo que ese es un problema que tiene que ver con la representación de números flotantes en una computadora, sin importar el lenguaje
Java: separar parte entera y decimal de un número - Parzibyte's blog · marzo 30, 2019 a las 6:01 am
[…] parte entera y decimal tenemos que usar puras matemáticas, pues no existe la función modf como en Python o […]