ダブルをC++文字列に変換する際に問題が発生しています。私のコードはここにありますDoubleをC++で文字列に変換する
std::string doubleToString(double val)
{
std::ostringstream out;
out << val;
return out.str();
}
私が持っている問題は、倍数が '10000000'として渡されている場合です。返される文字列の値がどのように私は「10000000」
ダブルをC++文字列に変換する際に問題が発生しています。私のコードはここにありますDoubleをC++で文字列に変換する
std::string doubleToString(double val)
{
std::ostringstream out;
out << val;
return out.str();
}
私が持っている問題は、倍数が '10000000'として渡されている場合です。返される文字列の値がどのように私は「10000000」
#include <iomanip>
using namespace std;
// ...
out << fixed << val;
// ...
として文字列値を1E + 007
得ることができますされて、あなたはまた、小数点以下の桁数を設定するsetprecision
を使用して検討するかもしれない:
out << fixed << setprecision(2) << val;
ありがとう..これは素晴らしい仕事 –
#include <iomanip>
std::string doubleToString(double val)
{
std::ostringstream out;
out << std::fixed << val;
return out.str();
}
また、最小幅を設定するなど、STLのIOマニピュレータとの文字を埋めることができます。
out.width(9); out.fill(' ');
いくつかの例は、次のとおりです。http://www.codeproject.com/KB/recipes/Tokenizer.aspx非常に効率的でやや優雅です。 –