double a = 5.0;
string b = "";
b = to_string(a);
cout << "b:" << b << endl;
stringstream ss;
ss << std::setprecision(2) << a;
b = ss.str(); // 3.14159265358979
cout << "b:" << b << endl;
在上述代码中,使用to_string转换double类型的数值为string类型会出现转换好的数字出现小数位过多的精度问题,使用如上的stringstream即可解决上述问题,需要包含如下头文件
#include<iostream>
#include<string>
#include<sstream>
#include<iomanip>
using namespace std;
当使用to_string函数将double类型转换为string时,可能会遇到小数位过多的精度问题。通过stringstream和setprecision可以精确控制转换的精度,例如将double值5.0转换为保留两位小数的字符串。
3371

被折叠的 条评论
为什么被折叠?



