python

Obtener parte decimal y entera de número con Python

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.

# -*- coding: utf-8 -*-
import math

numero = 80.1265
print("El número es: ", numero)
parte_decimal, parte_entera = math.modf(numero)
print("Su parte entera es {} y su parte decimal es {}".format(
    parte_entera, parte_decimal))

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

  • 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

    • 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

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 semana 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…

2 semanas 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…

2 semanas 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…

2 semanas hace

Errores de Comlink y algunas soluciones

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

2 semanas 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…

2 semanas hace

Esta web usa cookies.