溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

字符串string與整數int如何在C++中實現互相轉化

發布時間:2020-12-10 14:23:29 來源:億速云 閱讀:219 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關字符串string與整數int如何在C++中實現互相轉化,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

一、string轉int的方式

1、采用最原始的string, 然后按照十進制的特點進行算術運算得到int,但是這種方式太麻煩,這里不介紹了。

2、采用標準庫中atoi函數。

string s = "12";

int a = atoi(s.c_str());

對于其他類型也都有相應的標準庫函數,比如浮點型atof(),long型atol()等等。

3、采用sstream頭文件中定義的字符串流對象來實現轉換。

istringstream is("12"); //構造輸入字符串流,流的內容初始化為“12”的字符串
int i;
is >> i; //從is流中讀入一個int整數存入i中

二、int轉string的方式

1、采用標準庫中的to_string函數。

int i = 12;

cout << std::to_string(i) << endl;

不需要包含任何頭文件,應該是在utility中,但無需包含,直接使用,還定義任何其他內置類型轉為string的重載函數,很方便。

2、采用sstream中定義的字符串流對象來實現。

ostringstream os; //構造一個輸出字符串流,流內容為空
int i = 12;
os << i; //向輸出字符串流中輸出int整數i的內容
cout << os.str() << endl; //利用字符串流的str函數獲取流中的內容

字符串流對象的str函數對于istringstream和ostringstream都適用,都可以獲取流中的內容。

補充知識:C++ 將整數、浮點數轉為字符串

前言:

用 sprintf可以把整數、浮點數轉為字符串。

1、整數

int main(int argc, const char * argv[]) {
  int n = 12345;//待轉整數
  char strN[50];//轉換后的字符串
  sprintf(strN, "%d", n);
  cout<<strN<<endl;//輸出
  return 0;
}

結果:

字符串string與整數int如何在C++中實現互相轉化

2、浮點數

int main(int argc, const char * argv[]) {
  float n = 12345.67;//待轉整數
  char strN[50];//轉換后的字符串
  sprintf(strN, "%.2f", n);
  cout<<strN<<endl;
  return 0;
}

結果:

字符串string與整數int如何在C++中實現互相轉化

上述就是小編為大家分享的字符串string與整數int如何在C++中實現互相轉化了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女