我有一个将浮点值转换为字符串的代码,我写的如下
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
float myFloat= 10.80;
std::ostringstream ss;
ss << myFloat;
cout<<"value = " << ss.str();
std::string s(ss.str());
cout<<"value = " << s;
return 0;
}
但问题是,当我的值为 10.66 时,它会变成 10.66,但当它的值为 10.80 时,它会变成 10.8,或者当它的值为 10.00 时,它只会变成 10。
如何打印完整的值
最佳答案
试试这段代码。 将 setprecision 函数与 '2' 一起使用。
#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>
using namespace std;
int main() {
float myFloat= 10.80;
stringstream stream;
stream << fixed << setprecision(2) << myFloat;
string s = stream.str();
cout<<"value = " << s;
return 0;
}
关于c++ - 如何在转换为字符串时打印 float 的小数部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48839888/