Integers to Strings in C++: How to Convert?

Integers to Strings in C++: How to Convert?

It is sometimes necessary to typecast int data types to string data types while writing programs. Inbuilt functions and methods in C++ facilitate the conversion of integers to strings. You will get complete guidance on the conversion of an integer to a string, as we will cover four different ways for the conversion.

Table of Contents

Watch the video below to understand C programming in detail:

How to Convert an Integer to a String in C++

In C++, converting an integer to a string involves using libraries such as <string> and <sstream>. One common approach is std::to_string(), which takes an integer and returns the string representation. Another method involves std::stringstream, where you create a stream object, input the integer into the stream using << operator, and then extract the string using the str() function.

Both methods are efficient and widely used, providing flexibility in converting integers to strings for various purposes in C++. 

Do you want to jumpstart your career in computer programming? Enroll in our C Programming Course and gain the skills to succeed!

Using  to_string()

Refer to the code below:

#include <iostream>
#include <string>
using namespace std;
int main()
{  
    int i = 10; 
    // Convert the integer 'i' to a string using the 'to_string' function
    string str = to_string(I);  
    cout << "The value of i after conversion is: " << str << "\n";  
    return 0; 
}

Output:

The value of i after conversion is: 10

Check out the Top 20 C++ Project Ideas

Using stringstream

Refer to the code below:

#include <iostream>  
#include <stream>  
using namespace std; 
int main()  
{  
    string num = "11599"; 
// Declare a string variable 'num' and initialize it with a string value "11599"
    stringstream ss;       // Declare a stringstream object 'ss'
    ss << num;            
    int n;             
    ss >> n;             
    cout << "A string value is: " << num << "\n";
    cout << "An integer value of the string is: " << n;
    return 0; 
}

Output:

A string value is: 11599

An integer value of the string is: 11599

Using sprintf() function

Refer to the code below:

#include <iostream>
using namespace std;
int main()
{
    int a = 670213;
    // string buffer
    char str[500];
    // using “sprintf” function
    sprintf(str, "%d", a);
    cout << "the value after conversion is: " << str;
    return 0;
}

Output:

the value after conversion is: 670213

Check out the top C++ Interview Questions to ace your next interview!

Using boost lexical cast

Refer to the code below:

#include <boost/lexical_cast.hpp>
int main() {
    // Integer to String conversion using boost::lexical_cast
    int intValue = 670213;
    try {
        std::string stringValue = boost::lexical_cast<std::string>(intValue);
        std::cout << "Integer: " << intValue << " converted to String: " << stringValue << std::endl;
    } catch (const boost::bad_lexical_cast& e) {
        std::cerr << "Error: " << e.what() << std::endl;
    }
    return 0;
}

Output:

the value of i after conversion is: 670213

When and Why Do We Need to Convert Int to String in C++?

In C++, the need to convert an integer to a string often arises when dealing with tasks involving input/output operations, data manipulation, or string concatenation. One common scenario is when working with user input, where integers entered by the user may need to be processed as strings for display or further manipulation. Additionally, when constructing complex strings that involve a mix of textual and numeric data, converting integers to strings becomes essential to concatenate them easily. The conversion is also crucial in scenarios where functions or libraries expect string inputs, such as when writing to a file or displaying data in a graphical user interface. In such cases, converting an integer to a string facilitates compatibility and ensures that the program can handle diverse data types effectively. 

Wrap-Up

As of now, you have gained a comprehensive understanding of how to convert an integer to a string in C++. Having good hands-on experience with these types of conversions results in a very beneficial way for the programmers, even at the beginner level. To conclude, we have learned four different methods for this conversion: to_string(), stringstream, sprintf() function, and boost lexical cast. We have also seen the source codes for these methods. Also, we came to know that before calling any method or function, we must ensure that its respective header file has been included in the program. 

If you have any doubts or queries, drop them on our Community! 

FAQs

How do I convert an integer to a string in C++?

You can use various methods like std::to_string(), stringstream, or boost::lexical_cast to convert an integer to a string.

What is std::to_string() in C++?

std::to_string() is a C++ function that converts numerical values, such as integers, floats, or doubles, into their string representations.

What is the stringstream method for converting an int to a string?

stringstream is a class in C++ that allows the manipulation of strings as if they were input/output streams. It can be used for converting integers to strings.

What's the boost::lexical_cast method for converting int to string?

boost::lexical_cast is a part of the Boost library, offering a simple and convenient way to convert between types, including int to string.

Are there any considerations while using std::to_string()?

Yes, std::to_string() is straightforward and convenient but might not be available in older C++ versions (prior to C++11).

What happens if I try to convert a non-numeric value using std::to_string()?

std::to_string() works only with numeric types (integers, floats, doubles). Attempting to convert non-numeric types will result in compilation errors.

Is there a way to handle non-numeric conversions to strings without std::to_string()?

For non-numeric conversions, you might consider using a stringstream method or manually iterating and constructing the string.