您好,登錄后才能下訂單哦!
這篇文章主要介紹“C或C++字符串與數字之間的轉換方式”,在日常操作中,相信很多人在C或C++字符串與數字之間的轉換方式問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C或C++字符串與數字之間的轉換方式”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
主要有兩種方式:C 中能夠使用 sprintf 將數字轉為字符數組,sscanf 將字符數組轉為數字;而在 C++ 中不僅能夠使用 C 中的方法,還能夠使用 stringstream 實現字符串與數字間的轉換。
下面的函數轉為字符串是char類型
最好用:stringstream
int n = 123456;
char p[100] = {};
stringstream s;
s << n;
s >> p;
其次:springf、sscanf
數字轉字符串
sprintf(str, “%d”, num);
字符串轉數字
sscanf(str, “%d”, &rsl);
再其次:itoa、atoi
(1)數字轉字符
itoa()函數有3個參數:數字、寫入轉換結果的目標字符串、進制
itoa(num, string, 10); // 按10進制轉換
(2)字符轉數字
char str[4] = {‘1’, ‘2’, ‘3’, ‘4’};
int num = atoi(str);
代碼示例
整數轉字符串
#include <iostream>
using namespace std;
int main() {
// 整數轉字符串
int num = 1234;
char temp[7], str[7];
int i = 0, j = 0;
while(num) {
// 整數轉字符串: +'0'
temp[i++] = num % 10 + '0';
num = num / 10;
}
// 剛轉化的字符串是逆序的
while(i >= 0) {
str[j++] = temp[--i];
}
cout << str << endl;
return 0;
}
字符串轉整數
#include <iostream>
using namespace std;
int main() {
char str[5] = {'1', '2', '3', '4', '\0'};
int num = 0;
int i = 0;
while(str[i]) {
num = num * 10 + (str[i++] - '0');
}
cout << num << endl;
return 0;
}
到此,關于“C或C++字符串與數字之間的轉換方式”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。