Igualmente, se puede utilizar el stdlib.h, en el que hay sprintf
, ecvt
y fcvt
funciones (o al menos, debería haber!).
int sprintf(char* dst,const char* fmt,...);
char *ecvt(double value, int ndig, int *dec, int *sign);
char *fcvt(double value, int ndig, int *dec, int *sign);
sprintf devuelve el número de caracteres que escribió a la cadena, por ejemplo
float f=12.00;
char buffer[32];
sprintf(buffer,"%4.2f",f) // will return 5, if it is an error it will return -1
ecvt y fcvt caracteres de retorno a static char * lugares que contienen la terminación nula representaciones decimales de los números, sin punto decimal, el número más significativo primero, el desplazamiento del punto decimal se almacena en dec, el signo en "signo" (1 = -, 0 = +) ndig es el número de dígitos significativos para almacenar mi. Si dec < 0, tiene que rellenar con -dec zeros pror hasta el punto decimal. Si no está seguro, y no está trabajando en un sistema Windows7 (que no ejecutará los viejos programas DOS3 a veces) busque TurboC versión 2 para Dos 3, todavía hay una o dos descargas disponibles, es un programa relativamente pequeño de Borland que es un pequeño editor/compilación de Dos C/C++ e incluso viene con TASM, el código de máquina de 16 bits compilación 386/486, está cubierto en los archivos de ayuda como muchos otros nuggets útiles de información.
Las tres rutinas están en "stdlib.h", o deberían serlo, aunque he descubierto que en VisualStudio2010 no son estándar, a menudo están sobrecargadas con funciones que tratan con caracteres de tamaño PALABRA y que le piden que use sus propias funciones específicas en cambio ... "tanto para biblioteca estándar", murmuro para mis adentros casi todas y cada una de las veces, "¡Tal vez buscan un mejor diccionario!"
Creo que tiene problemas con flotadores no dobles – Aamir
jeje ... eso es genial. Me imagino que el voto negativo original puede haber sido debido a mi primera respuesta muy escueta (sin código fuente), y lo suficientemente justo también;). – RedBlueThing
También podría ser porque ignoré todo el tema de la representación del punto flotante y contesté la pregunta en un nivel bastante superficial. – RedBlueThing