我正试图将一个double转换为C++字符串,但遇到了一些问题。这是我的代码:
std::string doubleToString(double val)
{
std::ostringstream out;
out << val;
return out.str();
}
我遇到的问题是,如果一个double类型的值被传入为'10000000',那么返回的字符串值为1e+007。
如何获取字符串值"10000000"?
我正试图将一个double转换为C++字符串,但遇到了一些问题。这是我的代码:
std::string doubleToString(double val)
{
std::ostringstream out;
out << val;
return out.str();
}
我遇到的问题是,如果一个double类型的值被传入为'10000000',那么返回的字符串值为1e+007。
如何获取字符串值"10000000"?
#include <iomanip>
using namespace std;
// ...
out << fixed << val;
// ...
你还可以考虑使用 setprecision
来设置小数位数:
out << fixed << setprecision(2) << val;
#include <iomanip>
std::string doubleToString(double val)
{
std::ostringstream out;
out << std::fixed << val;
return out.str();
}
out.width( 9 ); out.fill( ' ' );请注意保留HTML标签,不做解释,使内容更加通俗易懂。