Last Updated : 23 Jul, 2025
In C++, converting integers to strings or converting numbers to strings or vice-versa is actually a big paradigm shift in itself. In general or more specifically in competitive programming there are many instances where we need to convert a number to a string or string to a number. Let's look at some methods to convert an integer or a number to a string.
There are 4 major methods to convert a number to a string, which are as follows:
The to_string() function can be used to convert an integer, floating point values, or any number to a string. This function accepts a number(which can be any data type) and returns the number as the desired string.
Syntax:
string to_string (int val);
Parameters:
Return Value:
Example:
C++
// C++ code to demonstrate "to_string()" method
// to convert number to string.
#include <iostream>
#include <string> // for string and to_string()
using namespace std;
// Driver Code
int main()
{
// Declaring integer
int i_val = 20;
// Declaring float
float f_val = 30.50;
// Conversion of int into string using
// to_string()
string stri = to_string(i_val);
// Conversion of float into string using
// to_string()
string strf = to_string(f_val);
// Displaying the converted strings
cout << "The integer in string is : ";
cout << stri << endl;
cout << "The float in string is : ";
cout << strf << endl;
return 0;
}
The integer in string is : 20 The float in string is : 30.500000
Time Complexity: O(n)
Auxiliary Space: O(n)
In this method, a string stream declares a stream object which first inserts a number, as a stream into an object and then uses "str()" to follow the internal conversion of a number to a string.
Example:
C++
// C++ code to demonstrate string stream method
// to convert number to string.
#include<iostream>
#include <sstream> // for string streams
#include <string> // for string
using namespace std;
int main()
{
int num = 2016;
// declaring output string stream
ostringstream str1;
// Sending a number as a stream into output
// string
str1 << num;
// the str() converts number into string
string geek = str1.str();
// Displaying the string
cout << "The newly formed string from number is : ";
cout << geek << endl;
return 0;
}
The newly formed string from number is : 2016
Time Complexity: O(n)
Auxiliary Space: O(n)
sprintf() function stores the output on the char buffer specified in the function, instead of printing the output on the console.
C++
// C++ Program to illustrate the use of sprintf() for number
// to string conversion
#include <iostream>
using namespace std;
int main()
{
// any num
int n = 12234;
// string buffer
char str[1000];
// sprintf() to print num to str buffer
sprintf(str, "%d", n);
cout << "the string is : " << str;
return 0;
}
// this code is contributed by shivanisingh
the string is : 12234
Time Complexity: O(n)
Auxiliary Space: O(n)
Similar to string conversion, the " lexical_cast() " function remains the same, but in the 'boost lexical cast' time argument list modifies to "lexical_cast(numeric_var).
Example:
C++
// C++ code to demonstrate "lexical_cast()" method
// to convert number to string.
#include <boost/lexical_cast.hpp> // for lexical_cast()
#include <iostream>
#include <string> // for string
using namespace std;
// Driver Code
int main()
{
// Declaring float
float f_val = 10.5;
// Declaring int
int i_val = 17;
// lexical_cast() converts a float into string
string strf = boost::lexical_cast<string>(f_val);
// lexical_cast() converts a int into string
string stri = boost::lexical_cast<string>(i_val);
// Displaying string converted numbers
cout << "The float value in string is : ";
cout << strf << endl;
cout << "The int value in string is : ";
cout << stri << endl;
return 0;
}
The float value in string is : 10.5 The int value in string is : 17
Time Complexity: O(n)
Auxiliary Space: O(n)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4