www.88bifa.com:int与string的相互转换

C++ int与string的互相转变,intstring相互调换

www.88bifa.com:int与string的相互转换。一、int转换成string

  Ⅰ、to_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);

Example:

 1 // to_string example  
 2 #include <iostream>   // std::cout  
 3 #include <string>     // std::string, std::to_string  
 4   
 5 int main ()  
 6 {  
 7   std::string pi = "pi is " + std::to_string(3.1415926);  
 8   std::string perfect = std::to_string(1+2+4+7+14) + " is a perfect number";  
 9   std::cout << pi << '\n';  
10   std::cout << perfect << '\n';  
11   return 0;  
12 } 
13 Output
14 pi is 3.141593  
15 28 is a perfect number 

  Ⅱ、依据字符串流

  规范库定义了三种等级次序字符串流:istringstream,ostringstream,stringstream,看名字就领悟那二种类型和iostream中的多少个可怜相近,分别能够读、写以至读和写string类型,它们也确确实实是从iostream类型派生而来的。要选择它们须要富含sstream头文件。

除了那个之外从iostream世袭来的操作

  1.sstream类型概念了二个有string形参的构造函数,即:  stringstream
stream(s); 创立了蕴藏s别本的stringstream对象,s为string类型对象

  2.概念了名称为str的积极分子,用来读取或安装stringstream对象所决定的string值:stream.str();
重返stream中存放的string类型对象stream.str(s);
将string类型的s复制给stream,再次回到void

Example:

1 int aa = 30;
2 stringstream ss;
3 ss<<aa; 
4 string s1 = ss.str();
5 cout<<s1<<endl; // 30

二、string转换成int

  Ⅰ、接纳标准库中atoi函数,对于任何品种也都有照看的职业库函数,比方浮点型atof(),long型atol()等等

Example:

1 std::string str = "123";
2 int n = atoi(str.c_str());
3 cout<<n; //123

  Ⅱ、采纳sstream头文件中定义的字符串流对象来促成转移

1 istringstream is("12"); //构造输入字符串流,流的内容初始化为“12”的字符串   
2 int i;   
3 is >> i; //从is流中读入一个int整数存入i中  

 

参考资料:

int与string的人机联作调换,intstring相互转变生龙活虎、int转变来string Ⅰ、to_string函数
c++11行业内部增添了全局函数std::to_string: string to_www.88bifa.com,string (int val);
s…