C++ How to convert string to int, how to convert int to string (string to number, number to string)

When using C++ to solve problems, it is often necessary to process the input. In many cases, it is necessary to convert strings into numbers, or numbers into strings. How to deal with this?
Such conversion is very easy after C++11.

1. String to number (string to int)

1. 1 stoi (after C++11)

usage:

#include <iostream>
#include <string>

int main() {
     
     

    std::string str = "123";
    int num;

    // using stoi() to store the value of str1 to x
    num = std::stoi(str);

    std::cout << num;

    return 0; } ```

1.2 atoi, before C++11 or for c-style strings

usage:

#include <iostream>

// cstdlib is needed for atoi()
#include <cstdlib>

using namespace std;

int main() {
     
     

    // declaring and initializing character array
    char str[] = "456";
    int num = std::atoi(str);

   std::cout << "num = " << num;
    
    return 0; } ```

for std::string str

atoi( str.c_str() )

1.3 Using stringstream

usage:

#include <iostream>
#include <string>
#include <sstream> // this will allow you to use stringstream in your program

using namespace std;

int main() {
    
    
    //create a stringstream object, to input/output strings
   stringstream ss; 
   
   // a variable named str, that is of string data type
   string str = "7";
   
   // a variable named num, that is of int data type
   int num;
   
   
   //extract the string from the str variable (input the string in the stream)
   ss << str;
   
   // place the converted value to the int variable
   ss >> num;
   
   //print to the consloe
   cout << num << endl; // prints the intiger value 7
}

It is recommended to use the first one, which is simple and easy to understand

2. Convert numbers to strings (int to string)

2.1 to_string()

#include <iostream>
#include <string>

using namespace std;

int main() {
     
     
    int num = 123;
    
    std::string str = to_string(num);

    std::cout << str;

    return 0; } ```

2.2 stringstream

#include <iostream>
#include<string>
#include<sstream> // for using stringstream

using namespace std;

int main() {
     
     
    int num = 15;
  
    // creating stringstream object ss
    std::stringstream ss;
  
    // assigning the value of num to ss
    ss << num;
  
    // initializing string variable with the value of ss
    // and converting it to string format with str() function
    std::string strNum = ss.str();
    std::cout << strNum;

    return 0; 
    } 
    ```

2.3 itoa (convert to c-style string first)

int a = 10;
char *intStr = itoa(a);
string str = string(intStr);

3. Reference materials:

https://www.freecodecamp.org/news/string-to-int-in-c-how-to-convert-a-string-to-an-integer-example/
https://www.programiz.com/cpp-programming/string-int-conversion
https://stackoverflow.com/questions/5590381/easiest-way-to-convert-int-to-string-in-c

Guess you like

Origin blog.csdn.net/Sansipi/article/details/127597687