int类型与string类型的相互转化

最近在准备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 

猜你喜欢

转载自blog.csdn.net/yft1023/article/details/84976894