Ver Mensaje Individual
  #9 (permalink)  
Antiguo 13/07/2006, 03:23
Nivel7
 
Fecha de Ingreso: abril-2006
Ubicación: Acapulco Gro. México
Mensajes: 483
Antigüedad: 18 años, 1 mes
Puntos: 2
se supone que el arreglo es de float o mas no de int. puedes verlo en el primer mensaje del hilo.

arreglo = { 12.2362, 5236.214, 1.365};

con esto esta indicando que tiene :
float arreglo[] = {12.2362, 5236214, 1.365};

por tano si esto es correcto, no tendria problemas alusar sprintf, de la forma en que lo esta haciendo.

sino es asi, pues le aclaramos de una vez,.

los numeros enteros estan dispuestos en memoria de froma muy diferente a como lo estan los float, por tanto hacer una lectura de un numero int como si fuese float te daria valores totalmente incorrectos, tal vez pueda aparecern en la cadena foramteada un valor con 2 decimales pero este valor no creao que sea el correcto.

si tus variables manejaran datos con punto decimal tienes 2 opciones usar float o double,
generalmente con los float son sufucientes, sobre todo si solo te interesan 2 decimales.

el formato de lectura en la funcion prints o sprintf, es para indicarle a la funcion el tipo que se esta escribiendo, y no seria correcto para usarlo como casting, por tanto si tu variable es int pues usa el formato para int, si tu variable es float usa el formato para float, etc.

en cuestion de decimales estas en lo correcto siempre y cuando tu variables sea float o double.

por el momento solo eso.

Saludos.

Última edición por Nivel7; 13/07/2006 a las 03:31