string轉換成int的幾種方式
阿新 • • 發佈:2019-02-08
寫在前面:
遇到了多次oj的題目需要將string轉換為int或者將int轉換為string
每次遇到都是現查,一直沒有好好的總結導致總是忘記。
現在做個總結。
首先是今天遇到的方式: 採用string標頭檔案裡定義的string型別轉換的函式 stoi()
可以直接將string型別轉換為int型別
其他一些對於string轉換的操作函式如下:
int stoi (const string& str, size_t* idx = 0, int base = 10);
int stoi (const wstring& str, size_t* idx = 0, int base = 10);
第一個引數很簡單就是要轉換的string字串
第二個引數是從字串的第幾個位置開始轉換 預設從0開始
第三個引數是將字串表示的數以什麼進位制轉換 預設十進位制轉化
複雜度:未指定,但通常在解釋的字元數量上是線性的。
注意 如果不能執行轉換,則會引發invalid_argument異常。
如果讀取的值超出int的可表示範圍,則會丟擲out_of_range異常。
一個無效的idx導致未定義的行為。
另一個to_string
這個函式將一些值轉換為string型別
基本上就是一系列的過載函式 將不同型別的數轉換為string