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;