Ebenso tun, können Sie die stdlib.h nutzen könnten, dort sind die sprintf
, ecvt
und fcvt
Funktionen (oder zumindest sollte es sein!).
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 die Anzahl der Zeichen gibt es an den String geschrieben, zum Beispiel
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 und fcvt Rückkehr Zeichen static char * Stellen die Null enthält beendet Dezimaldarstellungen der Zahlen, ohne Dezimalpunkt, höchstwertige Zahl zuerst, der Offset des Dezimalpunkts wird in Dez gespeichert, das Vorzeichen in "Vorzeichen" (1 = -, 0 = +) ndig ist die Anzahl der signifikanten Stellen zu speichern e. Wenn dez < 0 dann müssen Sie mit -dec Nullen pror auf den Dezimalpunkt auffüllen. Ich bin unsicher, und Sie arbeiten nicht auf einem Windows7-System (das manchmal nicht alte DOS3-Programme laufen) für TurboC Version 2 für Dos 3 suchen, gibt es noch ein oder zwei Downloads zur Verfügung, es ist ein relativ kleines Programm von Borland ist ein kleiner DOS C/C++ - Editor/Compiler und kommt sogar mit TASM, dem 16-Bit-Maschinencode 386/486 kompilieren, der in den Hilfedateien ebenso behandelt wird wie viele andere nützliche Informationsnuggets. Alle drei Routinen sind in "stdlib.h" oder sollten es sein, obwohl ich festgestellt habe, dass sie auf VisualStudio2010 alles andere als Standard sind, oft überladen mit Funktionen, die sich mit WORD-Zeichen befassen und Sie bitten, ihre eigenen spezifischen Funktionen zu verwenden stattdessen ... "so viel für Standard Bibliothek," Ich murmele fast jedes Mal zu mir selbst, "Vielleicht sie, um ein besseres Wörterbuch zu bekommen!"
Ich denke, er hat ein Problem mit Floats nicht verdoppelt – Aamir
hehe ... das ist cool. Ich nehme an, dass der ursprüngliche Downvote möglicherweise wegen meiner ersten, sehr knappen Antwort (ohne Quellcode) gewesen ist, und auch fair genug;). – RedBlueThing
Könnte auch sein, weil ich das ganze Float Point Repräsentation Thema ignoriert habe und die Frage auf einer ziemlich oberflächlichen Ebene beantwortet habe. – RedBlueThing