其它类型转string:
1 #include <iostream> 2 #include <string> 3 using namespace std; 4 int main() 5 { 6 int a = 55; 7 double b = 65.123; 8 string str = ""; 9 //头文件是sstream 10 std::ostringstream oss; 11 oss << a << "---" << b; 12 str = oss.str(); 13 cout << str << endl; 14 return 0; 15 }
输出是55—65.123。
如果想实现小数点后只显示一位数字,使用下面方法:
1 #include <iostream> 2 #include <sstream> 3 #include <iomanip> 4 5 template <class T> 6 std::string fmt(T in, int width = 0, int prec = 0) { 7 std::ostringstream s; 8 s << std::setw(width) << std::setprecision(prec) << in; 9 return s.str(); 10 } 11 12 int main(){ 13 std::string s = fmt(66.0 / 30.0, 2, 2); 14 std::cout << s << "\n"; 15 }