c++中string和int的相互转化

在c++中有时候需要对数据进行类型转化,今天我们来看一下c++中string与int相互转化的方法
1.int转string
c++11标准增加了全局函数std::to_string:
string to_string (int val);

string to_string (long val);

string to_string (long long val);

string to_string (unsigned val);

string to_string (unsigned long val);

string to_string (unsigned long long val);

string to_string (float val);

string to_string (double val);

string to_string(long double val);
例如:


// to_string example
#include    // std::cout
#include      // std::string, std::to_string
 
int main ()
{
  std::string pi = "pi is " + std::to_string(3.1415926);
  std::string perfect = std::to_string(1+2+4+7+14) + " is a perfect number";
  std::cout << pi << '\n';
  std::cout << perfect << '\n';
  return 0;
}

output:


pi is 3.141593
28 is a perfect number

2.string转int
这里介绍一种我最常用的方法,使用stringstream,可以实现string与其他类型的转换。
例如:

#include 
#include 
#include 
using namespace std;
int main()
{
	string s = "250";
	stringstream ss;
	ss << s;
	int n;
	ss >> n;
	cout << typeid(n).name() <<": "<> s;
	cout << s << endl;
}

采用这种方法既能实现string转int也可以实现int转string

你可能感兴趣的:(c++)