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

Cancelar trabajo de impresión con C++

En este post te quiero compartir un código de C++ para listar y cancelar trabajos…

4 semanas hace

Copiar bytes de Golang a JavaScript con WebAssembly

Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…

2 meses hace

Imprimir PDF con Ghostscript en Windows de manera programada

Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…

2 meses hace

Hacer pruebas en impresora térmica Bluetooth Android

Esta semana estuve recreando la API del plugin para impresoras térmicas en Android (HTTP a…

2 meses hace

Limpiar clave PEM

Hoy te enseñaré a extraer la cadena base64 de una clave PEM usando una función…

2 meses hace

Foco con Telegram, apagador de 3 vías, relevador y ESP8266

Encender un foco con un Bot de Telegram es posible usando una tarjeta como la…

2 meses hace

Esta web usa cookies.