float2string mit fester Nachkommastelle

Hallo zusammen

Ich bin gerade an ein Problem gestossen: ich möchte eine float Zahl in einen String umwandeln. Dabei soll die float Zahl eine festgelegte Anzahl Nachkommastelle haben!

z.B. wenn float res=10 soll "10.0" ausgegeben werden.

Die Umwandlung mache ich zur Zeit folgendermassen:

Code:
std::ostringstream buffer;
float res;
buffer << res;
number = buffer.str();


... geht das einfacher?
... wie kann ich die Anzahl Nachkommastellen vorgeben?


MfG
 
Code:
#include <stdio.h>

int main()
{
        float pi=3.14159;

        printf("%.3f\n", pi);
        return 0;
}

So gibst du beispielsweise 3 Nachkommastellen aus.
mit sprintf kannst du das ganze auch in nem string speichern.
man-page -> man 3 printf

mfg, loose
 
Hi loose,

Besten Dank für die Antwort.
sprintf funktioniert für char wunderbar! Aber für einen str::string leider nicht. Habe auf die schnelle keine brauchbare char->string konversion gefunden, deshalb habe ich es so gemacht:

Code:
std::ostringstream buffer;
float res;
buffer << std::fixed << std::setprecision(2) << res;
number = buffer.str();

MfG
 
Zurück
Oben