給定一個 Long 數 N,任務是使用 C++ 將 N 轉換為字符串。
解釋:
Input: N = -10243213 // long input Output: -10243213 // string output Explanation: -10243213 is the string in the output. Input: N = 42131983 Output: 42131983
方法A
在這種方法中,我們將轉換每個數字長到 char 並將其附加到結果字符串。
請按照以下步驟解決問題:
1. 如果長數字為負數,將負號存儲到任何變量中,並使長數字為正數。
if (long_num < 0) { signValue = "-"; long_num = -long_num; //converting number to positive value }
2. 提取每個數字長從最後一個開始編號並轉換為字符並壓入堆棧。
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 (!stringStack.empty()) { // append top char of stack to string long_to_string += stringStack.top(); stringStack.pop(); // pop char from the stack }
4. 返回帶有符號值的結果字符串。
return signValue + long_to_string;
例子:
C++
// C++ program to demonstrate
// long to string conversion
// digit by digit
#include <bits/stdc++.h>
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 greater 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;
}
輸出
-10243213
時間複雜度和空間複雜度:哦(Digit_count_of_long_number)
方法B
C++ 包含字符串流 類裏麵的<stream> Library 。我們可以創建一個對象字符串流類並插入任何數據類型的變量。它返回字符串對象。
- 創建 stringstream 類的對象,即字符串流流;
- 加長 流對象的編號,即流<<43543422;
- 使用從流對象獲取字符串對象str()方法即long_to_string = 流.str();
例子:
C++
// C++ program to demonstrate
// long to string conversion
// using stringstream
#include <iostream>
#include <sstream>
#include <string>
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;
}
輸出
43543422
方法C
C++<string> Library 提供std::to_string 方法將任何數據類型轉換為字符串。
String long_to_string = to_string(76456474);
例子:
C++
// C++ program to demonstrate
// long to string conversion
// using std::to_string methods
#include <iostream>
#include <string>
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;
}
輸出
76456474
相關用法
- C++ List unique()用法及代碼示例
- C++ List swap()用法及代碼示例
- C++ List reverse()用法及代碼示例
- C++ List push_front()用法及代碼示例
- C++ List splice()用法及代碼示例
- C++ List sort()用法及代碼示例
- C++ List size()用法及代碼示例
- C++ List resize()用法及代碼示例
- C++ List push_back()用法及代碼示例
- C++ List pop_front()用法及代碼示例
- C++ List pop_back()用法及代碼示例
- C++ List max_size()用法及代碼示例
- C++ List insert()用法及代碼示例
- C++ List merge()用法及代碼示例
- C++ List assign()用法及代碼示例
- C++ List back()用法及代碼示例
- C++ List emplace()用法及代碼示例
- C++ List emplace_back()用法及代碼示例
- C++ List front()用法及代碼示例
- C++ List empty()用法及代碼示例
- C++ List emplace_front()用法及代碼示例
- C++ List list()用法及代碼示例
- C++ List begin()用法及代碼示例
- C++ List cbegin()用法及代碼示例
- C++ List cend()用法及代碼示例
注:本文由純淨天空篩選整理自shubhamvora05大神的英文原創作品 Convert Long to String in C++。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。