Cool C/C++

Programacion en C/C++

Home Foros
Bienvenido, Invitado
Por favor Identificarse o Registrarse.    Contraseña olvidada?

¿Como truncar los decimales (float) en C?
(1 viendo) (1) Invitado
AbajoPágina: 1
TEMA: ¿Como truncar los decimales (float) en C?
#341
¿Como truncar los decimales (float) en C? Creado el día: 19/05/2017 18:25 Karma: 0
Hola a todos. Mi problema es el siguiente: Tengo el siguiente vector de probabilidades,

vectorFAP0 = 58.601799 12.023691 61.179775 45.886543 62.586872 67.924271 53.168545 70.105103 23.177788 48.971207 74.884453 28.409052 79.283783 32.123661 57.448048 82.289703 74.696152 86.011162 41.449554 84.230888 89.390259 47.355267 90.971962 51.716938 76.113525

De aqui en adelante necesito trabajar con 1 decimal, (p,e. 58.6) despues con 2 decimales (p.e. 58.63), y asi hasta lograr optimizar el problema que trato de resolver, o de buscar la mejor solucion.

Traté de implementar lo siguiente: Definí el vector,

vectorFAP0aux = 5860 1202 6117 4588 6258 6792 5316 7010 2317 4897 7488 2840 7928 3212 5744 8228 7469 8601 4144 8423 8939 4735 9097 5171 7611,

el cual lo obtuve simplemente por,

int *vectorFAP0aux;

float *vectorFAP0;

/*Conversion del vectorFAP0 a dos decimales*/

for(i=0; i<N; i++)

{

vectorFAP0aux[i] = vectorFAP0[i]*100;

}

y despues trate de recobrar el vector vectorFAP0,

for(i=0; i<N; i++)

{

vectorFAP0[i] = vectorFAP0aux[i]/100.0;

}

y lo que obtengo es,

vectorFAP0 = 58.599998 12.020000 61.169998 45.880001 62.580002 67.919998 53.160000 70.099998 23.170000 48.970001 74.879997 28.400000 79.279999 32.119999 57.439999 82.279999 74.690002 86.010002 41.439999 84.230003 89.389999 47.349998 90.970001 51.709999 76.110001.

La ayuda que necesito es, como puedo decirle a C que solo deseo trabajar con 1 decimal, o 2 decimales, o 3 decimales, lo que el programador escoga?? Ojo, mi problema NO es visualizar por pantalla 1, 2 o 3 decimales. Es decirle a C que trabaje con 1, 2 o 3 decimales, pues necesito estudiar la influencia en las probabilidades de estos digitos decimales, en el problema que estudio.

Gracias de antemano por toda la ayuda que me puedan brindar.

Muy atentamente,

Alberto Gonzalez

Venezuela.
Alberto2012
Navegador Iniciado
Mensajes: 4
graphgraph
Usuario Offline Presiona aquí para ver el perfil de este usuario
Última edición: 19/05/2017 18:26 por Alberto2012.
El administrador ha deshabilitado la escritura pública.
 
#345
Re: ¿Como truncar los decimales (float) en C? Creado el día: 29/08/2017 16:48 Karma: 1
Lo mejor puede ser hacer los cálculos con todos los decimales y para mostrarlos en pantalla usar sólo 2, por ejemplo:

printf("Numero original: %f \nNumero con 2 decimales %.2f ", 94.9456, 94.9456);
adrianvaca
Administrador
Mensajes: 104
graph
Usuario Offline Presiona aquí para ver el perfil de este usuario
El administrador ha deshabilitado la escritura pública.
El conocimiento es una forma de empezar a ser libre
 
ArribaPágina: 1
obtén los últimos mensajes directamente en tu escritorio