C/Visual C - decimales en C

 
Vista:

decimales en C

Publicado por Patricio Cortes (2 intervenciones) el 14/06/2006 19:11:08
Hola comunidad...alguien me podria decir como puedo separar un numero decimal 23.45 por ejemplo en 2 3 . 4 5 ???? Esto lo necesito para mandar este valor decimal a un LCD...muchas gracias....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:decimales en C

Publicado por Nelek (816 intervenciones) el 14/06/2006 20:20:59
Eso depende de que tipo de dato le quieres mandar y de como lo recibas tu.

A mi se me ocurren 2 formas.

Si lo recibes como numero. Ir haciendo divisiones normales y de resto acumlando los numeros en variables distintas.
Es decir:
double num1, num2, num3, num4... //depende de los que necesites.
double entrada, temp;

//tomas el dato original en entrada. P ej. 23.45

num1 = entrada / 10.0; //num1 = 2
temp = entrada % 10.0; //temp = 3.45

num2 = temp / 1.0; //num2 = 3
temp = temp %1.0; //temp = 0.45

....

La otra manera sería pasar el numero a una cadena de caracteres e ir recorriendola caracter a caracter y mandar cada caracter (despues de transformarlo a numero) a una posicion de un vector numerico
Es decir:
//seguimos con el 23.45
char entrada [5];
int numeros [5];

//tomas el numero y lo guardas en entrada

for (i = 0; i < 5; i++)
{
char cTemp;
int nTemp;

cTemp = entrada[i];
if (cTemp == "-") //si es el menos de un numero negativo...
{
numeros[i] = -100;
//o cualquier otro numero que establezcas tu al principio.
//Pero una manera de asgurarse es un numero de dos cifras puesto que tu estas
//pasando por posiciones de una cifra.
}
else if (cTemp == ".") //Si no es el punto o la coma
{
numeros[i] = -101

}
else
{
nTemp = atoi (cTemp);
numeros [i] = nTemp;
}
}

Seguramente haya maneras mejores, pero al menos ya tienes por donde empezar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:decimales en C

Publicado por Patricio Cortes (2 intervenciones) el 14/06/2006 23:09:11
gracias muchas....te pasaste...de todas formas ¿conoces algun comando que me entregue la cantidad de decimales de un numero?, es decir, algunas manera de saber que 23.45 tiene 2 decimales, para asi multiplicarlo por 10^numero de decimales....gracias otra vez....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:decimales en C

Publicado por x (63 intervenciones) el 17/06/2006 19:16:38
pues... podrias pasarlo a cadena y despues usar strtok... bueno eso creo no lo he probado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar