您好,登錄后才能下訂單哦!
這篇文章主要介紹“C++整型與字符串的互轉方法”,在日常操作中,相信很多人在C++整型與字符串的互轉方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C++整型與字符串的互轉方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
flyfish
字符串轉整型
C的方法 cstr是char*或者const char*類型的字符串
int num = atoi(str); int num = strtol(cstr, NULL, 10);
//10 表示進制
C++11的方法
void test1(){ std::string str1 = "1";std::string str2 = "1.5";std::string str3 = "1 with words";int myint1 = std::stoi(str1);int myint2 = std::stoi(str2);int myint3 = std::stoi(str3);std::cout << "std::stoi(\"" << str1 << "\") is " << myint1 << '\n';std::cout << "std::stoi(\"" << str2 << "\") is " << myint2 << '\n';std::cout << "std::stoi(\"" << str3 << "\") is " << myint3 << '\n';}
結果輸出
std::stoi(“1”) is 1 std::stoi(“1.5”) is 1 std::stoi(“1 with words”) is 1
//源碼參考cplusplus.com
void test2(){ std::string str_dec = "2001, A Space Odyssey"; std::string str_hex = "40c3"; std::string str_bin = "-10010110001"; std::string str_auto = "0x7f"; std::string::size_type sz; // alias of size_t int i_dec = std::stoi (str_dec,&sz); int i_hex = std::stoi (str_hex,nullptr,16); int i_bin = std::stoi (str_bin,nullptr,2); int i_auto = std::stoi (str_auto,nullptr,0); std::cout << str_dec << ": " << i_dec << " and [" << str_dec.substr(sz) << "]\n"; std::cout << str_hex << ": " << i_hex << '\n'; std::cout << str_bin << ": " << i_bin << '\n'; std::cout << str_auto << ": " << i_auto << '\n'; return 0;}
輸出
2001, A Space Odyssey: 2001 and [, A Space Odyssey] 40c3: 16579 -10010110001: -1201 0x7f: 127
其他類型 類似
無符號整型
stoul
浮點型
stof
數值轉字符串
std::string s; s = std::to_string(1) + ” is int, “;
其他數值類型 類似
s = std::to_string(3.14f) + ” is float.”;
到此,關于“C++整型與字符串的互轉方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。