# Convert Long to String in C++

• Last Updated : 13 Jul, 2022

Given a Long number N, the task is to convert the N to a string using C++.

Explanation:

```Input: N = -10243213 // long input
Output: -10243213 // string output
Explanation: -10243213 is the string in the output.

Input: N = 42131983
Output: 42131983```

### Approach A

In this approach, we are converting every digit of the long to the char and appending it to the resultant string.

Follow the steps below to solve the problem:

1. If a long number is negative, store the negative sign to any variable and make the long number positive.

```if (long_num < 0) {
signValue = "-";
long_num = -long_num; //converting number to positive value
}```

2. Extract every digit from the long number one by one from the last and convert it to the character and push it to the stack.

```while (long_num > 0) {

//add last digit to stack after converting it to char
stringStack.push(long_num % 10 + '0');
long_num /= 10; // remove last digit
}```

3. While the stack becomes empty, pop one by one character from the string and append it to the resultant string.

```while (!stringStack.empty()) {

// append top char of stack to string
long_to_string += stringStack.top();
stringStack.pop(); // pop char from the stack
}```

4. Return the resultant string with the signValue.

`return signValue + long_to_string;`

Example:

## C++

 `// C++ program to demonstrate  ` `// long to string conversion  ` `// digit by digit ` `#include ` ` `  `using` `namespace` `std; ` `string LongToString(``long` `long_num) ` `{ ` `    ``stack<``char``> stringStack; ` `    ``string signValue = ``""``; ` ` `  `    ``// if long number is negative store the negative sign to ` `    ``// the signValue variable ` `    ``if` `(long_num < 0) { ` `        ``signValue = ``"-"``; ` `        ``long_num = -long_num; ` `    ``} ` ` `  `    ``// while number is greate than 0, get last digit from it ` `    ``// and convert it to character by adding '0' to it, and ` `    ``// push to the stack. ` `    ``while` `(long_num > 0) { ` `        ``char` `convertedDigit = long_num % 10 + ``'0'``; ` `        ``stringStack.push(convertedDigit); ` `        ``long_num /= 10; ` `    ``} ` ` `  `    ``string long_to_string = ``""``; ` ` `  `    ``// while stack is not empty pop the character one by one ` `    ``// and append to the resultant string. ` `    ``while` `(!stringStack.empty()) { ` `        ``long_to_string += stringStack.top(); ` `        ``stringStack.pop(); ` `    ``} ` ` `  `    ``// return the resulatant string value by appending ` `    ``// singValue to it. ` `    ``return` `signValue + long_to_string; ` `} ` ` `  `int` `main() ` `{ ` `    ``long` `long_num = -10243213; ` `    ``string long_to_string = LongToString(long_num); ` `    ``cout << long_to_string; ` `    ``return` `0; ` `}`

Output

`-10243213`

Time Complexity & Space Complexity: O (Digit_count_of_long_number)

### Approach B

C++ contains the stringstream class inside the <stream> library. We can create an object of the stringstream class and insert the variable of any data type. It returns the string object.

• Create the object of stringstream class i.e. Stringstream stream;
• Add long number to stream object i.e. stream << 43543422;
• Get the string object from stream object using str() method i.e. long_to_string = stream.str();

Example:

## C++

 `// C++ program to demonstrate ` `// long to string conversion  ` `// using stringstream ` `#include ` `#include ` `#include ` ` `  `using` `namespace` `std; ` `int` `main() ` `{ ` `    ``// initialize the long number ` `    ``long` `long_num = 43543422; ` ` `  `    ``// create a new object of stringstream class ` `    ``stringstream stream; ` ` `  `    ``// add long number to variable of type stringstream ` `    ``stream << long_num; ` `    ``string long_to_string; ` ` `  `    ``// get string object from stringstream variable using ` `    ``// str() method ` `    ``long_to_string = stream.str(); ` `    ``cout << long_to_string; ` `    ``return` `0; ` `}`

Output

`43543422`

### Approach C

The c++ <string> library provides the std::to_string() method to convert the any datatype to the string.

`String long_to_string = to_string(76456474);`

Example:

## C++

 `// C++ program to demonstrate ` `// long to string conversion  ` `// using std::to_string methods ` `#include ` `#include ` ` `  `using` `namespace` `std; ` `int` `main() ` `{ ` `    ``// initialize the long number ` `    ``long` `long_num = 76456474; ` `    ``string long_to_string; ` `     `  `    ``// convert long to string using to_string() method ` `    ``long_to_string = to_string(long_num); ` `    ``cout << long_to_string; ` `    ``return` `0; ` `}`

Output

`76456474`

My Personal Notes arrow_drop_up
Related Articles