logo

Konwertuj ciąg na liczbę całkowitą w C++

W tej sekcji omówione zostaną różne metody konwersji danych w postaci ciągu znaków na liczbę całkowitą przy użyciu języka programowania C++. Istnieją pewne sytuacje lub przypadki, w których musimy przekonwertować określone dane na inny typ, a jedną z takich sytuacji jest konwersja ciągu znaków na dane typu int w programowaniu.

Na przykład mamy ciąg numeryczny jako „ 143 ' i chcemy przekonwertować go na typ numeryczny. Musimy użyć funkcji, która konwertuje ciąg znaków na liczbę całkowitą i zwraca dane liczbowe jako 143. Teraz poznamy każdą metodę, która pomaga konwertować dane ciągów znaków na liczby całkowite w języku programowania C++.

Konwertuj ciąg na liczbę całkowitą w C++

Różne metody konwersji danych ciągu na liczby całkowite w języku programowania C++.

  1. Korzystanie z klasy stringstream
  2. Korzystanie z funkcji stoi().
  3. Korzystanie z funkcji atoi().
  4. Korzystanie z funkcji sscanf().

Korzystanie z klasy stringstream

The strumień ciągów to klasa używana do konwersji ciągu liczbowego na typ int. Klasa stringstream deklaruje obiekt strumienia, aby wstawić ciąg znaków jako obiekt strumienia, a następnie wyodrębnia przekonwertowane dane całkowite na podstawie strumieni. Klasa stringstream zawiera operatory „<>”, które służą do pobierania danych z operatora lewego (<>).

Stwórzmy program demonstrujący klasę stringstream służącą do konwersji danych w postaci ciągu znaków na liczbę całkowitą w języku programowania C++.

typ w Javie

Program1.cpp

 #include #include // use stringstream class using namespace std; int main() { string str1 = &apos;143&apos;; // declare a string int intdata; // declare integer variable /* use stringstream class to declare a stream object to insert a string and then fetch as integer type data. */ stringstream obj; obj &lt;&gt; intdata; // fetch integer type data cout &lt;&lt; &apos; The string value is: &apos; &lt;&lt; str1 &lt;&lt; endl; cout &lt;&lt; &apos; The representation of the string to integer type data is: &apos; &lt;&lt; intdata &lt;&lt; endl; return 0; } 

Wyjście

 The string value is: 143 The representation of the string to integer type data is: 143 

W powyższym programie używamy klasy stringstream do stworzenia obiektu obj, co pomaga w konwersji danych string na liczbę całkowitą. Następnie używamy operatora „<>”, aby wyodrębnić przekonwertowany ciąg z obj na dane liczbowe.

Korzystanie z funkcji sscanf().

Funkcja sscanf() konwertuje dany ciąg znaków na określony typ danych, np. liczbę całkowitą.

if else instrukcje Java

Składnia

 sccanf ( str, %d, &amp;intvar); 

Funkcja sscanf() ma trzy argumenty określające ciąg znaków (str), specyfikator danych (%d) i zmienną całkowitą (&intvar) do przechowywania przekonwertowanego ciągu.

Algorytm funkcji sscanf().

  1. Funkcja sscanf() należy do klasy stringstream, dlatego musimy zaimportować tę klasę do naszego programu.
  2. Zainicjuj stały ciąg znaków str.
  3. Utwórz zmienną całkowitą, która będzie przechowywać przekonwertowany ciąg znaków na wartości całkowite.
  4. Przekaż zmienną łańcuchową do funkcji sscanf() i przypisz funkcję sscanf() do zmiennej całkowitej, aby przechowywać wartość całkowitą wygenerowaną przez tę funkcję.
  5. Wydrukuj wartości całkowite.

Rozważmy przykład użycia funkcji sscanf() do konwersji ciągu na liczbę numeryczną w C++.

Program2.cpp

 #include #include // use stringstream class using namespace std; int main () { // declare the character strings const char *str1 = &apos;555&apos;; const char *str2 = &apos;143&apos;; const char *str3 = &apos;101&apos;; // declare the integer variables int numdata1; int numdata2; int numdata3; /* use sscanf() function and to pass the character string str1, and an integer variable to hold the string. */ sscanf (str1, &apos;%d&apos;, &amp;numdata1); cout &lt;<' the value of character string is: ' << str1; cout '
 representation to int numdata1 <<endl; sscanf (str2, '%d', &numdata2); <<'
 str2; numdata2 (str3, &numdata3); str3; numdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The value of the character string is: 555 The representation of string to int value of numdata is: 555 The value of the character string is: 143 The representation of string to int value of numdata is: 143 The value of the character string is: 101 The representation of string to int value of numdata is: 101 </pre> <h3>Using the stoi() function</h3> <p>The stoi() function converts a string data to an integer type by passing the string as a parameter to return an integer value.</p> <p> <strong>Syntax</strong> </p> <pre> stoi(str); </pre> <p>The stoi() function contains an str argument. The str string is passed inside the stoi() function to convert string data into an integer value.</p> <p> <strong>Algorithm of the stoi() function</strong> </p> <ol class="points"> <li>Initialize the string variable to store string values.</li> <li>After that, it creates an integer type variable that stores the conversion of string into integer type data using the stoi() function.</li> <li>Print the integer variable value.</li> </ol> <p>Let&apos;s create a program to use the stoi() function to convert the string value into the integer type in the C++ programming language.</p> <p> <strong>Program3.cpp</strong> </p> <pre> #include #include using namespace std; int main () { string strdata1 = &apos;108&apos;; string strdata2 = &apos;56.78&apos;; string strdata3 = &apos;578 Welcome&apos;; // use stoi() function to pass string as arguments int intdata1 = stoi (strdata1); int intdata2 = stoi (strdata2); int intdata3 = stoi (strdata3); // print the converted values cout &lt;&lt; &apos; The conversion of string to an integer using stoi(&apos;&apos; &lt;&lt; strdata1 &lt;&lt; &apos;&apos;) is &apos; &lt;&lt; intdata1 &lt;<endl; cout << ' the conversion of string to an integer using stoi(\'' strdata2 '\') is intdata2 <<endl; strdata3 intdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The conversion of string to an integer using stoi(&apos;108&apos;) is 108 The conversion of string to an integer using stoi(&apos;56.78&apos;) is 56 The conversion of string to an integer using stoi(&apos;578 Welcome&apos;) is 578 </pre> <h3>Using the atoi() function</h3> <p>An atoi() function is used to convert the character string into an integer value. An atoi() function passes the character type string to return the integer data.</p> <p> <strong>Syntax</strong> </p> <pre> atoi (const char *str); </pre> <p> <strong>Algorithm of the atoi() function</strong> </p> <ol class="points"> <li>Initialize a pointer-type character array to store a string.</li> <li>After that, it creates an integer type variable that stores the conversion of string into integer type data using the atoi() function.</li> <li>Print the integer variable value.</li> </ol> <p>Let&apos;s create a program to use the atoi() function to convert the string value into the integer type in the C++ programming language.</p> <p> <strong>Program4.cpp</strong> </p> <pre> #include #include using namespace std; int main () { // declare a constant character array of string const char *strdata1 = &apos;256&apos;; const char *strdata2 = &apos;16.18&apos;; const char *strdata3 = &apos;1088 Good Bye&apos;; // use atoi() function to pass character type array as arguments int intdata1 = atoi (strdata1); int intdata2 = atoi (strdata2); int intdata3 = atoi (strdata3); // print the converted values cout &lt;&lt; &apos; The conversion of string to an integer value using atoi(&apos;&apos; &lt;&lt; strdata1 &lt;&lt; &apos;&apos;) is &apos; &lt;&lt; intdata1 &lt;<endl; cout << ' the conversion of string to an integer value using atoi(\'' strdata2 '\') is intdata2 <<endl; strdata3 intdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The conversion of string to an integer value using atoi(&apos;256&apos;) is 256 The conversion of string to an integer value using atoi(&apos;16.18&apos;) is 16 The conversion of string to an integer value using atoi(&apos;1088 Good Bye&apos;) is 1088 </pre> <hr></endl;></pre></endl;></pre></'>

Korzystanie z funkcji stoi().

Funkcja stoi() konwertuje dane w postaci ciągu znaków na typ całkowity, przekazując ciąg jako parametr zwracający wartość całkowitą.

Składnia

 stoi(str); 

Funkcja stoi() zawiera argument str. Łańcuch str jest przekazywany do funkcji stoi() w celu konwersji danych ciągu na wartość całkowitą.

Algorytm funkcji stoi().

przejście przezroczystości CSS
  1. Zainicjuj zmienną łańcuchową, aby przechowywać wartości łańcuchowe.
  2. Następnie tworzy zmienną typu całkowitego, która przechowuje konwersję ciągu znaków na dane typu całkowitego za pomocą funkcji stoi().
  3. Wydrukuj wartość zmiennej całkowitej.

Stwórzmy program, który użyje funkcji stoi() do konwersji wartości string na typ całkowity w języku programowania C++.

Program3.cpp

 #include #include using namespace std; int main () { string strdata1 = &apos;108&apos;; string strdata2 = &apos;56.78&apos;; string strdata3 = &apos;578 Welcome&apos;; // use stoi() function to pass string as arguments int intdata1 = stoi (strdata1); int intdata2 = stoi (strdata2); int intdata3 = stoi (strdata3); // print the converted values cout &lt;&lt; &apos; The conversion of string to an integer using stoi(&apos;&apos; &lt;&lt; strdata1 &lt;&lt; &apos;&apos;) is &apos; &lt;&lt; intdata1 &lt;<endl; cout << \' the conversion of string to an integer using stoi(\'\' strdata2 \'\') is intdata2 <<endl; strdata3 intdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The conversion of string to an integer using stoi(&apos;108&apos;) is 108 The conversion of string to an integer using stoi(&apos;56.78&apos;) is 56 The conversion of string to an integer using stoi(&apos;578 Welcome&apos;) is 578 </pre> <h3>Using the atoi() function</h3> <p>An atoi() function is used to convert the character string into an integer value. An atoi() function passes the character type string to return the integer data.</p> <p> <strong>Syntax</strong> </p> <pre> atoi (const char *str); </pre> <p> <strong>Algorithm of the atoi() function</strong> </p> <ol class="points"> <li>Initialize a pointer-type character array to store a string.</li> <li>After that, it creates an integer type variable that stores the conversion of string into integer type data using the atoi() function.</li> <li>Print the integer variable value.</li> </ol> <p>Let&apos;s create a program to use the atoi() function to convert the string value into the integer type in the C++ programming language.</p> <p> <strong>Program4.cpp</strong> </p> <pre> #include #include using namespace std; int main () { // declare a constant character array of string const char *strdata1 = &apos;256&apos;; const char *strdata2 = &apos;16.18&apos;; const char *strdata3 = &apos;1088 Good Bye&apos;; // use atoi() function to pass character type array as arguments int intdata1 = atoi (strdata1); int intdata2 = atoi (strdata2); int intdata3 = atoi (strdata3); // print the converted values cout &lt;&lt; &apos; The conversion of string to an integer value using atoi(&apos;&apos; &lt;&lt; strdata1 &lt;&lt; &apos;&apos;) is &apos; &lt;&lt; intdata1 &lt;<endl; cout << \' the conversion of string to an integer value using atoi(\'\' strdata2 \'\') is intdata2 <<endl; strdata3 intdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The conversion of string to an integer value using atoi(&apos;256&apos;) is 256 The conversion of string to an integer value using atoi(&apos;16.18&apos;) is 16 The conversion of string to an integer value using atoi(&apos;1088 Good Bye&apos;) is 1088 </pre> <hr></endl;></pre></endl;>

Korzystanie z funkcji atoi().

Funkcja atoi() służy do konwersji ciągu znaków na wartość całkowitą. Funkcja atoi() przekazuje ciąg znaków, aby zwrócić dane w postaci liczb całkowitych.

Składnia

 atoi (const char *str); 

Algorytm funkcji atoi().

  1. Zainicjuj tablicę znaków typu wskaźnikowego do przechowywania ciągu.
  2. Następnie tworzy zmienną typu całkowitego, która przechowuje konwersję ciągu znaków na dane typu całkowitego za pomocą funkcji atoi().
  3. Wydrukuj wartość zmiennej całkowitej.

Stwórzmy program, który użyje funkcji atoi() do konwersji wartości ciągu na typ całkowity w języku programowania C++.

Program4.cpp

 #include #include using namespace std; int main () { // declare a constant character array of string const char *strdata1 = &apos;256&apos;; const char *strdata2 = &apos;16.18&apos;; const char *strdata3 = &apos;1088 Good Bye&apos;; // use atoi() function to pass character type array as arguments int intdata1 = atoi (strdata1); int intdata2 = atoi (strdata2); int intdata3 = atoi (strdata3); // print the converted values cout &lt;&lt; &apos; The conversion of string to an integer value using atoi(&apos;&apos; &lt;&lt; strdata1 &lt;&lt; &apos;&apos;) is &apos; &lt;&lt; intdata1 &lt;<endl; cout << \' the conversion of string to an integer value using atoi(\'\' strdata2 \'\') is intdata2 <<endl; strdata3 intdata3 return 0; } < pre> <p> <strong>Output</strong> </p> <pre> The conversion of string to an integer value using atoi(&apos;256&apos;) is 256 The conversion of string to an integer value using atoi(&apos;16.18&apos;) is 16 The conversion of string to an integer value using atoi(&apos;1088 Good Bye&apos;) is 1088 </pre> <hr></endl;>