前言
c++课学到的,超级实用~支持各种类型的数字与字符串之间的转换,下面以int和double类型举例
头文件
1 2
   | #include <iostream> #include <sstream>
   | 
 
模板函数
数字->字符串的模板函数:
1 2 3 4 5 6 7
   | template <class T> inline string toString(T data)	 { 	ostringstream os;	 	os << data; 	return os.str(); }
   | 
 
字符串->数字的模板函数:
1 2 3 4 5 6 7 8
   | template <class T> inline T toNum(const string str) { 	T data; 	istringstream is(str);	 	is >> data; 	return data; }
   | 
 
实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
   | #include <iostream> #include <sstream>
  using namespace std;
  template <class T> inline string toString(T data) { 	ostringstream os; 	os << data; 	return os.str(); }
  template <class T> inline T toNum(const string str) { 	T data; 	istringstream is(str); 	is >> data; 	return data; }
  int main() { 	string str, str_; 	double n; 	int m; 	cout << "请输入一个数字:"; 	cin >> str;      	cout << "现在是字符串类型的我:" << str << endl;
  	n = toNum<double>(str);		 	cout << "现在是double类型的我:" << n << endl;
  	m = toNum<int>(str); 	cout << "现在是int类型的我:" << m << endl;
  	str_ = toString(n);			 	cout << "现在又是字符串类型的我:" << str_ << endl;          str_ = toString(m); 	cout << "现在还是字符串类型的我:" << str_ << endl;
  	return 0; }
   | 
 
 测试结果