Ver Mensaje Individual
  #4 (permalink)  
Antiguo 12/07/2006, 07:49
Avatar de José Molina
José Molina
 
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 5 meses
Puntos: 1
Caramba, entendi parte de lo que me explicaron.

Ahora lo que modifique fue lo siguiente

como los valores que estan en el arreglo pueden ser 1.253 ó 8521457.52689 ó 6258741.11 termine por definir a numero1 asi:

char numero1[11]="";

luego:

sprintf(numero1,"%11.2f",atof(arreglo[i])); // El i es porque este dentro de un for para sacar todos los valores del arreglo.

Buen, yo creia que esos valores dentro del arreglo eran CHAR, pero cuando corro lo que les muestro me da error, indicando que el entero no puede aplicar.

Así que lo cambie a esto:

sprintf(numero1,"%11.2f",atof((char *) arreglo[i]));

Lo que entiendo es que los valores que estan dentro del arreglo son Int, entonces para poder usar el "11,2f" debería llevarlo a double usando el atof pero antes debo convertirlo a char para poder transformarlo.

Luego ese valor numero1 debo concatenarlo a un XML que estoy construyendo. así que hago esto:

strcat(XML_Fact,"<MONTO>");
strcat(XML_Fact, (char *) numero1);
strcat(XML_Fact,"</MONTO>\n");

Ahora lo único que me ocurre es que se imprime en el XML lo siguiente:

<MONTO> 122,52</MONTO>

Es decir, coloca delante del número tantos espacios en blanco le falten para completar los 11 caracteres, una vez más, es lo que entiendo yo. Como le quito esos espacios en blanco entre la etiqueta de MONTO??

Por favor si estoy cometiendo un grave error, disculpenme, estoy tratando de aprender esta cosa.
__________________
José Molina
La marginalidad no esta en la incapacidad de calmar el hambre de un estómago sino en la incapacidad de calmar el hambre de la mente.