在C++中把字串轉換為整數的兩種簡單方法

語言: CN / TW / HK

String to Int in C++ – How to Convert a String to an Integer Example

當你用C++編碼時,經常會有這樣的時候,你會想把一種資料型別轉換為另一種。

在這篇文章中,你將看到兩種最流行的方法來學習如何在C++中把字串轉換為整數。

讓我們開始吧!

C++中的資料型別

C++程式語言有一些內建的資料型別。

  • int,用於整數(整數)(例如10,150)。
  • double,用於浮點數(例如5.0,4.5)。
  • char,用於單個字元(例如'D','!')。
  • string, 一系列的字元(例如 "Hello")。
  • bool,用於布林值(真或假)。

C++是一種強型別的程式語言,這意味著當你建立一個變數時,你必須明確地宣告它將儲存什麼型別的值。

如何在C++中宣告和初始化ints

要在C++中宣告一個int 變數,你需要首先寫出該變數的資料型別--本例中是int 。這將讓編譯器知道該變數可以儲存什麼型別的值,因此它可以採取什麼行動。

接下來,你需要給變數一個名字。

最後,不要忘了用分號來結束語句。

```

include

int main() { int age; } ```

然後,你可以給你建立的變數一個值,像這樣。

```

include

int main() { int age; age = 28; } ```

你可以通過初始化變數和最後列印結果來組合這些動作,而不是作為單獨的步驟來做。

``` // a header file that enables the use of functions for outputing information //e.g. cout or inputing information e.g. cin

include

// a namespace statement; you won't have to use the std:: prefix using namespace std;

int main() { // start of main function of the program int age = 28; // initialize a variable. //Initializing is providing the type,name and value of the varibale in one go.

// output to the console: "My age is 28",using chaining, <<
cout << "My age is: " << age << endl;

}// end the main function ```

如何在C++中宣告和初始化strings

字串是單個字元的集合。

在C++中宣告字串的工作方式與宣告和初始化ints非常相似,你在上面的章節中看到了這一點。

C++標準庫提供了一個string 類。為了使用字串資料型別,你必須在檔案的頂部,在#include <iostream> 之後,包括<string> 頭部庫。

在包括該標頭檔案之後,你還可以新增你之前看到的using namespace std;

在其他方面,加入這一行後,你在建立字串變數時將不必使用std::string ,只需使用string

```

include

include

using namespace std;

int main() { //declare a string variable

string greeting;
greeting = "Hello";
//the `=` is the assignment operator,assigning the value to the variable

} ```

或者你可以初始化一個字串變數並將其列印到控制檯。

```

include

include

using namespace std;

int main() { //initialize a string variable

string greeting = "Hello";

//output "Hello" to the console cout << greeting << endl; } ```

如前所述,C++是一種強型別的語言。

如果你試圖給出一個與資料型別不一致的值,你會得到一個錯誤。

另外,將字串轉換為整數並不像使用型別轉換那樣簡單,你可以在將doubles轉換為ints時使用。

例如,你不能這樣做。

```

include

include

using namespace std;

int main() { string str = "7"; int num;

num = (int) str; } ```

編譯後的錯誤將是。

hellp.cpp:9:10: error: no matching conversion for C-style cast from 'std::__1::string' (aka 'basic_string<char, char_traits<char>, allocator<char> >') to 'int' num = (int) str; ^~~~~~~~~ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/string:875:5: note: candidate function operator __self_view() const _NOEXCEPT { return __self_view(data(), size()); } ^ 1 error generated.

有幾種方法可以將字串轉換為int,你會在後面的章節中看到其中兩種方法。

如何使用stoi() 函式將字串轉換為int

將字串物件轉換為數字int的一個有效方法是使用stoi() 函式。

這種方法通常用於較新版本的C++,在C++11中被引入。

它將一個字串值作為輸入,並將它的整數版本作為輸出返回。

```

include

include

using namespace std;

int main() { // a string variable named str string str = "7"; //print to the console cout << "I am a string " << str << endl;

//convert the string str variable to have an int value //place the new value in a new variable that holds int values, named num int num = stoi(str);

//print to the console cout << "I am an int " << num << endl; } ```

輸出。

I am a string 7 I am an int 7

如何使用stringstream 類將一個字串轉換為一個int

stringstream 類主要用於早期版本的C++。它通過對字串進行輸入和輸出來工作。

要使用它,你首先要在你的程式頂部加入sstream 庫,加入一行#include <sstream>

然後你新增stringstream ,並建立一個stringstream 物件,該物件將儲存你要轉換為int的字串的值,並在轉換為int的過程中使用。

你使用<< 操作符,從字串變數中提取字串。

最後,你使用>> 操作符將新轉換的int值輸入到int變數中。

```

include

include

include // this will allow you to use stringstream in your program

using namespace std;

int main() { //create a stringstream object, to input/output strings stringstream ss;

// a variable named str, that is of string data type string str = "7";

// a variable named num, that is of int data type int num;

//extract the string from the str variable (input the string in the stream) ss << str;

// place the converted value to the int variable ss >> num;

//print to the consloe cout << num << endl; // prints the intiger value 7 } ```

總結

這就是你的成果!你已經看到了在C++中把字串轉換為整數的兩種簡單方法。

謝謝你的閱讀,祝你學習愉快 😊