Konvertieren von Double String in C ++
Frage
Ich habe einige Probleme versuchen, einen doppelten zu C ++ Zeichenfolge zu konvertieren. Hier ist mein Code
std::string doubleToString(double val)
{
std::ostringstream out;
out << val;
return out.str();
}
Das Problem, das ich habe, ist, wenn ein Doppel als ‚10000000‘ übergeben wird. Dann wird der String-Wert zurückgegeben wird, ist 1e + 007
Wie kann ich den String-Wert als "10000000"
Lösung
#include <iomanip>
using namespace std;
// ...
out << fixed << val;
// ...
Sie auch interessieren könnten setprecision
mit der Anzahl der Dezimalstellen festlegen:
out << fixed << setprecision(2) << val;
Andere Tipps
#include <iomanip>
std::string doubleToString(double val)
{
std::ostringstream out;
out << std::fixed << val;
return out.str();
}
Sie können auch die minimale Breite und füllen char mit STL IO-Manipulatoren gesetzt, wie:
out.width( 9 ); out.fill( ' ' );
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow