您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關怎么在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 */
思路:
利用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++中將長整型數轉換為字符串就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。