您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關(guān)怎么在C++中將長整型數(shù)轉(zhuǎn)換為字符串,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
/* * 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 */
思路:
利用char類型對于整數(shù)的隱式轉(zhuǎn)換,可以直接將整數(shù)加48(0的ASCII)賦值給char類型參數(shù),轉(zhuǎn)化成字符
利用string類型對+運算符的重載,借用一個string參數(shù)儲存每次遞歸返回值
為了防止輸出的字符串順序顛倒,將string+=temp;語句放在調(diào)用遞歸語句的后面,然后再返回string參數(shù)
代碼如下:
//轉(zhuǎn)化函數(shù) 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; }
關(guān)于怎么在C++中將長整型數(shù)轉(zhuǎn)換為字符串就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。