Hoy vamos a ver cómo usar la función modf en C para separar la parte entera y la parte decimal de un número.

Por ejemplo, a partir del número 123.45 vamos a separar el 123 y el 0.45, todo como números, no con cadenas. En otras palabras vamos a descomponer el número.

Función modf

Esta se encuentra en math.h, inclúyela con:

include <math.h>

La sintaxis es:

double parteFraccional = modf(numeroQueVamosADescomponer, apuntadorAParteEntera);

Primero es un poco complicada pero si leemos bien veremos que es fácil. Como una función en C no puede devolver dos valores, lo que hace es devolver la parte fraccional y poner en el apuntador la parte entera.

Ya veremos cómo es de fácil con los ejemplos.

Separar parte entera y decimal con C

Ahora sí a lo que venimos. Veamos el siguiente código:

La salida es:

El número es 123.450000

Parte entera: 123.000000. Parte decimal: 0.450000

Como vemos ha separado la parte decimal y la parte entera. Cabe mencionar que se trabaja con números de tipo double para tener la mayor precisión.

Alternativa a modf

Si nos confunde la función, podemos ir por las simples matemáticas. Para sacar la parte entera, convertimos el número a entero.

Y para sacar la parte decimal, restamos el número entero del original. Así como el ejemplo:

La desventaja es que podríamos perder precisión por los límites de los enteros, por eso se recomienda usar modf.

Probar ejemplos de código

Ambos ejemplos pueden ser probados en línea.

Relacionado:  Separar cadena a partir de delimitadores en C con strtok

Con eso terminamos por hoy.

Apoya al sitio

¿Mi artículo te ha resultado útil? haz una donación. También pudes suscribirte a mi boletín semanal en la parte de abajo

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 332 suscriptores


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/

1 Comment

Obtener parte decimal y entera de número con Python - Parzibyte's blog · marzo 29, 2019 a las 6:01 am

[…] 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 […]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto: