在C ++中将Double转换为String

时间:2009-05-14 16:08:14

标签: c++ string double

我在尝试将double转换为C ++字符串时遇到了一些问题。这是我的代码

std::string doubleToString(double val)
{
    std::ostringstream out;
    out << val;
    return out.str();
}

我遇到的问题是如果将double传递为'10000000'。然后返回的字符串值是1e + 007

如何将字符串值设为“10000000”

3 个答案:

答案 0 :(得分:14)

#include <iomanip>
using namespace std;
// ...
out << fixed << val;
// ...

您也可以考虑使用setprecision来设置小数位数:

out << fixed << setprecision(2) << val;

答案 1 :(得分:8)

#include <iomanip>

std::string doubleToString(double val)
{
   std::ostringstream out;
   out << std::fixed << val;
   return out.str();
}

答案 2 :(得分:2)

您还可以使用STL IO操纵器设置最小宽度和填充字符,例如:

out.width( 9 );
out.fill( ' ' );