最近在准备PAT乙级,见过太多地方需要把int与string相互转化,而且int和string的转化在处理大数据方面很方便。所以就决定整理一下有关int与string相互转化的方法。
1.int转化为string类型
(1)to_string()函数
std::string to_string(int value); (1) (C++11起)
std::string to_string(long value); (2) (C++11起)
std::string to_string(long long value); (3) (C++11起)
std::string to_string(unsigned value); (4) (C++11起)
std::string to_string(unsigned long value); (5) (C++11起)
std::string to_string(unsigned long long value); (6) (C++11起)
std::string to_string(float value); (7) (C++11起)
std::string to_string(double value); (8) (C++11起)
std::string to_string(long double value); (9) (C++11起)
int result=30;
string str=to_string(result);
//得到str=30;
(2)stringstream
关于这个我就只是知道用法而已,太深奥的还没了解到。
头文件,尽量重复利用stringstream对象,因为stringstream对象的构造和析构函数通常是非常耗费CPU时间的。如果在多次转换中使用同一个stringstream对象,记住再每次转换前要使用clear()方法;
string str;
int result;
stringstream ss;
ss<<str;//向流中传送值
ss>>result;//向result中写入值
2.string转int类型
(1)stoi()函数
头文件
格式:stoi(字符串,起始位置,2~32进制数);
会自行判断是否超出int的范围。
string str=1010;
int a = stoi(str, 0, 2);
//得到a=10;
2.stringstream
string result = "10000";
int n = 0;
stream << result; //向流中传送值
stream >> n; //把值写入n,n等于10000