如何防止从“数字到字符串”函数生成的字符串的科学记数法?

时间:2014-02-05 20:52:09

标签: c++ string

我有一个number_to_string函数,可以将数字转换为字符串。现在我想输出结果字符串而不用科学记数法。这是我的代码:

#include <iostream>
#include <sstream>
using namespace std;

string number_to_string( double value )
{
    string result;
    stringstream convert;

    convert << value;
    result = convert.str();

    return result;
}

int main()
{
    double d = 591284081248903124;
    string s = number_to_string( d );
    cout << s << endl; // why it shows 5.91284e+17 ?!?!

    return 0;
}

1 个答案:

答案 0 :(得分:2)

在行convert << std::setiosflags (std::ios::fixed);之前添加convert << value;。不要忘记#include <iomanip>