C++中int型別與String型別的相互轉換
阿新 • • 發佈:2018-11-08
最近經常用到兩種型別的相互轉換,從網上找了一些,彙總一下,以備不時之需
int型別轉換為String型別
方法一:利用sprintf
#include <iostream>
#include <string>
int main()
{
int n = 123;
char t[256];
sprintf(t, "%d", n);
std::string s(t);
std::cout << s << std::endl;
return 0;
}
方法二:利用stringstream類(個人最喜歡)
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
int n = 123;
stringstream ss;
string str;
ss << n;
ss >> str;
cout << str << endl;
system("pause");
return 0;
}
方法三:利用C++11新增的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)
string型別轉換為int型別
方法一:利用stringstream類
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
int n ;
stringstream ss;
string str("123");
ss << str;
ss >> n;
cout << n << endl;
system("pause");
return 0;
}
方法二:利用標準庫atoi、_atoi64…函式
string s = "123";
int a = atoi(s.c_str());