将字符串转换为双精度,将舍入为整数

问题描述 投票:2回答:1

[我试图将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
c++ string type-conversion double
1个回答
7
投票

[cout这样做,而不是atof()

更确切地说是operator<<,它将格式化的数据插入到std::ostream中。

您可以使用std::ostream标准库中的std::setprecision()打印小数:

std::setprecision()
© www.soinside.com 2019 - 2024. All rights reserved.