C++字符串型数字与int型数字的转换

1、string-->int

1.1 C++风格--流

1 include<sstream>
2 
3 stringstream stream;
4 int num = 0;
5 string text("123");
6 stream << text;
7 stream >> num;
8 stream.clear();//转换后字符串还保留在流中,需使用手动清空

1.2 C风格--atoi()函数

int number = 0;
string text = "123";
number = atoi(text.c_str());

2、int-->string

2.1 to_string()函数

string num1 = "1234" + to_string(456);

to_string()函数的实现如下:

 1 //实现to_string函数
 2 #include<iostream>
 3 #include<string>
 4 using namespace std;
 5 #define max 100
 6 string to_String(int n)
 7 {
 8     int m = n;
 9     char s[max];
10     char ss[max];
11     int i=0,j=0;
12     if (n < 0)// 处理负数
13     {
14         m = 0 - m;
15         j = 1;
16         ss[0] = '-';
17     }
18     while (m>0)
19     {
20         s[i++] = m % 10 + '0';
21         m /= 10;
22     }
23     s[i] = '\0';
24     i = i - 1;
25     while (i >= 0)
26     {
27         ss[j++] = s[i--];
28     }
29     ss[j] = '\0';
30     return ss;
31 }
32 
33 int main()
34 {
35     cout << "请输入整数:";
36     int m;
37     cin >> m;
38     string s = to_String(m) + "abc";
39     cout << s << endl;
40     system("pause");
41     return 0;
42 }

2.2 字符流

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

 

转载自:C++ int与string的互相转换(含源码实现)

 

posted @ 2020-08-14 10:16  运运翻牌了Howardy  阅读(531)  评论(0)    收藏  举报