[我试图将string
十进制数字转换为double
,但是当我使用atof()
函数时,我的数字最终四舍五入为整数。
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
string num = "135427.7000";
double r = atof(num.c_str());
cout << r << endl;
}
输出为:
135428
我想要:
135427.7
[cout
这样做,而不是atof()
。
更确切地说是operator<<
,它将格式化的数据插入到std::ostream
中。
您可以使用std::ostream
标准库中的std::setprecision()
打印小数:
std::setprecision()