Convertir float a string

Arot
13 de Febrero del 2004
Tengo un problema que es que necesito convertir un float a un string y no encuentro la manera.

Gracias!

noel solw
13 de Febrero del 2004
#include<stdlib.h>
double float_val;
int digits_num,dec_pos,sign;
char *str = fvct(float_val,digits_num,&dec_pos,&sign);

Ulianov
13 de Febrero del 2004
float number = 3.56;
char aux[10];
sprintf (aux, "%7.2f", number);

Tienes que tener en cuenta que la cadena que vayas a utilizar (en este caso aux) tiene que tener ya el tamaño reservado. Para asegurarte que no fallará ponle un delimitador al tamaño del float (en este caso 7 para la parte entera y 2 para la parte decimal).

Espero que te sirva!!

Arot
13 de Febrero del 2004
Con la primera forma no me encuentra la función fvct, con la segunda me va perfecto, pero tengo el problema que me deja espacios en blanco. ¿Hay alguna función que eliminar los espacios en blanco?

Ulianov
13 de Febrero del 2004
Vale, llevas razon. No pongas "%7.2f", sino "%.2f", de esta forma te escribirá todos los dígitos enteros y sólo dos decimales. Tienes que tener en cuenta que no se debe superar en ningún caso el tamaño del array.

Un saludo.