C++實現將長整型數轉換為字符串的示例代碼

C++實現將長整型數轉換為字符串

/*
 * Created by Chimomo
 */
#include <iostream>
 
using namespace std;
 
char *convertLongToStr(long L) {
    int i = 1;
    int n = 1;
    while (!(L / i < 10)) {
        i *= 10;
        ++n;
    }
 
    char *str = (char *) malloc(n * sizeof(char));
    int j = 0;
    while (L) {
        str[j++] = (char) ((int) (L / i) + (int) '0');
        L = L % i;
        i /= 10;
    }
 
    // A significant line to denote the end of string.
    str[n] = '\0';
 
    return str;
}
 
int main() {
    long l = 123456789;
    char *str = convertLongToStr(l);
    cout << str << endl;
}
 
// Output:
/*
123456789
*/

C++將一個整型數字轉化成為字符串

思路:

  • 利用char類型對於整數的隱式轉換,可以直接將整數加48(0的ASCII)賦值給char類型參數,轉化成字符
  • 利用string類型對+運算符的重載,借用一個string參數儲存每次遞歸返回值
  • 為瞭防止輸出的字符串順序顛倒,將string+=temp;語句放在調用遞歸語句的後面,然後再返回string參數

代碼如下:

//轉化函數
string transfer_Num(int num){
 char temp=num%10+48;
 string m_temp="";
 if(num>=10)
  m_temp+=transfer_Num(num/10);
 m_temp+=temp;
 return m_temp;
} 

int main(){
 int a=4876867;
 string temp=transfer_Num(a);
 cout<<temp;
 return 0;
} 

到此這篇關於C++實現將長整型數轉換為字符串的示例代碼的文章就介紹到這瞭,更多相關C++ 長整型數轉換為字符串內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀:

    None Found