InicioHazlo Tu MismoComo sacar la parte decimal de un numero en C++


Hola amigos, como esta, hoy les vor a enseñar a como sacar la parte decimal a un numero decimal
asi que empezemos :

Antes que nada quiero aclarar que esto lo hiba a publicar en la web de elhacker.net, pero por algunos problemas tecnicos no pude, pues a la hora de iniciar secion me decia que la contraseña estaba mala y me devolvia y todo eso, al final no lo pude pulicar asi que no publico aqui toda la informacion quie publique aui es de mi autoridad:

Hola, Creo este tema, porque he visto que mucha gente en internet (yo :V ), se pregunta como sacar la parte decimal de un numero.

Y la mayoria publica codigo como este:

[code=cpp]
#include<iostream>

int main()
{
float f = 12.598;
int entero = (int)f;
float decimal = f - entero;
}
[/code]

Ese codigo esta mal, No en sintaxis si no en logica, analicemos este codigo,

segun veo el indica un numero flotante cuyo valor es 12.598 , ok, todo va bien. pero aqui esdonde esta la parte mala, el crea otra variable llamada entero cuyo valor va a ser 12, por que 12? pues por que al escribir

[code=cpp]
int(f);
[/code]

o

[code=cpp]
(int)f;
[/code]

Esta convirtiendo 12.598 en un valor entero osea 12, luego crea otra variable mas llamada decimal cuyo valor va a ser 12 - entero, recordemos que entero tambien es igual a 12, porque como ya dije anter en


[code=cpp]
int(f);
[/code]

o

[code=cpp]
(int)f;
[/code]

lo convierte en un numero entero entonces el valor de decimal va a ser igual a 0,y no 0.598 que es lo que queremos, como se soluciona?


Aqui yo hice una funcion que lo hace como debe ser(codigo es de c++)


Funcion:
[code=cpp]
float p_dec(float num)
{
/*int pe;
float res;
pe=int(num);
res=num-pe;*/

//int Ent;
float Dec,Ent,resul;
Ent = 00.0000;
Dec = 00.0000;

Dec = num;
Ent = int(num);
Ent = Ent + 0000;

resul = Dec - Ent;

return resul;
}
[/code]

Main
[code=cpp]
float num,entero;

num = 11.9258;
entero = p_dec(num);

cout << "La parte decimal de " << num << " es: " << entero << endl;

[/code]

analicemos mi funcion, primerio creo tres variables:

[code=cpp]
float Dec,Ent,resul;
Ent = 00.0000;
Dec = 00.0000;
[/code]

y las inicializo en 0 para limpiarlas(costumbre mia :V), luego la variable Dec va a ser igual a 11.9258 lugo La variable Ent va a tener un valor igual a 11 por que como dije Int "variable" trasforma el numero a entero y luego resul va a ser igual a Ent menos Dec algo asi

Dec --> 11.9258 -
Ent --> 11
---------
resul -->00.9258

el entero se le resta a la parte entera y la parte decimal queda intacta ,luego devuelve resul que vendria siendo 00.9258 que este si es el resultado que deveria dar, bueno eso es todo. Solo un pequeño aporte a la comunidad.

Cabe destacar que, mi funcion no es perfecta, debemos ajustar el numero de 0 a la cantidad que corresponta por que si por ejempro tenemos 131.95731 tendrian que sen tres 0 en ves de 2 por que si lo dejaramos en 2 ceros quedaria asi

131.95731-
00
----------
001.95731

Eso era todo, mi pequeño aporte espero que les sirva.



Datos archivados del Taringa! original
0puntos
12visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
1visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

S
Usuario
Puntos0
Posts4
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.