Allo stesso modo, è possibile utilizzare lo stdlib.h, lì dentro sono il sprintf
, ecvt
e fcvt
funzioni (o almeno, dovrebbe esserci!).
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 restituisce il numero di caratteri è scritto alla stringa, ad esempio
float f=12.00;
char buffer[32];
sprintf(buffer,"%4.2f",f) // will return 5, if it is an error it will return -1
un'ECVT e fcvt caratteri di ritorno a static char * località contenenti la zero finale rappresentazioni decimali dei numeri, senza punto decimale, numero più significativo prima, l'offset del punto decimale è memorizzato in dec, il segno in "segno" (1 = -, 0 = +) ndig è il numero di cifre significative da memorizzare e. Se dec < 0, allora è necessario eseguire il pad con -dec zeros pror al punto decimale. Non sei sicuro e non stai lavorando su un sistema Windows7 (che a volte non eseguirà vecchi programmi DOS3). Cerca TurboC versione 2 per Dos 3, ci sono ancora uno o due download disponibili, è un programma relativamente piccolo di Borland che è un piccolo edito/compilatore Dos C/C++ e arriva anche con TASM, il codice macchina a 16 bit 386/486 compilato, è coperto dai file di aiuto come molti altri utili informazioni.
Tutte e tre le routine sono in "stdlib.h", o dovrebbero essere, anche se ho trovato che su VisualStudio2010 sono tutt'altro che standard, spesso sovraccarico di funzioni che trattano caratteri di dimensione WORD e che richiedono di utilizzare le proprie funzioni specifiche invece ... "così tanto per la libreria standard ", mormoro a me stesso quasi ogni volta, "Forse escono per ottenere un dizionario migliore!"
Penso che stia affrontando un problema con i galleggianti non raddoppia – Aamir
hehe ... questo è bello. Immagino che il downvote originale potrebbe essere stato a causa della mia prima, molto concisa risposta (senza codice sorgente), e anche abbastanza chiara;). – RedBlueThing
Potrebbe anche essere perché ho ignorato l'intero problema di rappresentazione del punto di virgola mobile e ho risposto alla domanda a un livello abbastanza superficiale. – RedBlueThing