C++int转化为string类型;string转化为int类型2

 1 #include <iostream>
 2 #include <string>
 3 #include <vector>
 4 #include <fstream>
 5 #include <sstream>
 6 
 7 using namespace std;
 8 
 9 string int2str(int number)
10 {
11     string strNumber;
12     int result = abs(number);                                                               
13 
14     if (result == 0)
15     {
16         strNumber = "0";
17     }
18     else
19     {
20         while (result)
21         {
22             strNumber = (char)(result % 10 + '0' ) + strNumber;
23             result /= 10;
24         } 
25     }
26 
27     if (number < 0)
28         strNumber = "-" + strNumber;
29 
30     return strNumber;
31 }
32 
33 int main(int argc, char *argv[])
34 {
35     string strNumber = int2str(-797);
36     cout << strNumber << endl;
37 
38     return 0;
39 }

这里是将int转化为string类型,思路是将int型数据除以10得到从而得到每一位。

 1 #include <iostream>
 2 #include <string>
 3 #include <vector>
 4 #include <fstream>
 5 #include <sstream>
 6 
 7 using namespace std;
 8 
 9 int str2int(const string& strNumber)
10 {
11     if (strNumber.length() == 0)
12     {
13         cout << "Input error!" << endl;
14         return -1;
15     }
16 
17     string tmpStr(strNumber);
18     if (tmpStr[0] == '-')
19         tmpStr.assign(tmpStr.begin() + 1, tmpStr.end());
20     
21     int number = 0;
22     for (size_t i = 0; i < tmpStr.length(); i++)
23     {
24         number = number * 10 + (tmpStr[i] - '0');
25     }
26 
27     if (strNumber[0] == '-')
28         number *= -1;
29 
30     return number;
31 }
32 
33 int main(int argc, char *argv[])
34 {
35     int number = str2int(string("-70865"));
36     cout << number << endl;
37 
38     return 0;
39 }

将string转化为int类型。

原文地址:https://www.cnblogs.com/Robotke1/p/3038527.html