c++:stoi()和to_string()函式
阿新 • • 發佈:2021-02-04
包含在標頭檔案#include<string>
1.stoi函式
-
作用:
將 n 進位制的字串轉化為十進位制
-
用法
stoi(字串,起始位置,n進位制(預設10進位制)),將 n 進位制的字串轉化為十進位制
-
舉例:
stoi(str, 0, 2); //將字串 str 從 0 位置之後的數字的 2 進位制數,轉換為十進位制
-
注意:
stoi()函式如果傳入的字串s中含有不是數字的字元,則只會識別到從開頭到第一個非法字元之 前,如果第一個字元就是非法字元則會報錯
#include<iostream> #include<string> using namespace std; int main() { string str = "1200"; int a = stoi(str);//預設是10進位制的,將 10 進位制的字串1200轉化為十進位制數值 int b = stoi(str, 0,8);//8進位制的1200轉換成10進位制 cout <<"a(10進位制的字串1200轉化為十進位制數值):\n" <<a << endl; cout <<"b(8進位制的1200轉換成10進位制):\n" <<b << endl; return 0; }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 執行結果:
2.to_string()函式
-
包含在標頭檔案
#include<string>
-
函式原型:
string to_string (int val);
string to_string (long val);
string to_string (long long val);
string to_string (unsigned val);
string to_string (unsigned long val);
string to_string (unsigned long long val);
string to_string (float val);
string to_string (long double val); -
功能:
將數值轉化為字串。返回對應的字串。
#include <iostream> #include <string> using namespace std; int main() { string pi = "pi is " + std::to_string(3.1415926); float pf = 42430.23; string float_str = to_string(pf) + " is a number"; cout << pi << '\n'; cout << float_str << '\n'; system("pause"); }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 輸出: