logo

Convertiți șirul în întreg în C++

Această secțiune va discuta diferitele metode de a converti datele șirurilor date într-un număr întreg folosind limbajul de programare C++. Există unele situații sau cazuri în care trebuie să convertim o anumită date într-un alt tip și o astfel de situație este să convertim șir în date int în programare.

De exemplu, avem un șir numeric ca „ 143 ' și dorim să-l convertim într-un tip numeric. Trebuie să folosim o funcție care convertește un șir într-un întreg și returnează datele numerice ca 143. Acum, vom învăța fiecare metodă care ajută la convertirea datelor șir în numere întregi în limbajul de programare C++.

Convertiți șirul în întreg în C++

Diferite metode de conversie a șirului de date în numere întregi în limbajul de programare C++.

  1. Folosind clasa stringstream
  2. Folosind funcția stoi().
  3. Folosind funcția atoi().
  4. Folosind funcția sscanf().

Folosind clasa stringstream

The stringstream este o clasă folosită pentru a converti un șir numeric într-un tip int. Clasa stringstream declară un obiect stream pentru a insera un șir ca obiect stream și apoi extrage datele întregi convertite pe baza fluxurilor. Clasa stringstream are operatori „<>”, care sunt utilizați pentru a prelua date de la operatorul din stânga (<>).

Să creăm un program pentru a demonstra clasa stringstream pentru conversia datelor șirului într-un număr întreg în limbajul de programare C++.

convenție de denumire pentru java

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; } 

Ieșire

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

În programul de mai sus, folosim clasa stringstream pentru a crea un obiect obj și ajută la convertirea datelor șir într-un număr întreg. Apoi folosim operatorul „<>” pentru a extrage șirul convertit din obj în date numerice.

Folosind funcția sscanf().

O funcție sscanf() convertește un șir dat într-un tip de date specificat, cum ar fi un număr întreg.

Sintaxă

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

Funcția sscanf() are trei argumente pentru a specifica șirul de caractere (str), specificatorul de date (%d) și variabila întreagă (&intvar) pentru a stoca șirul convertit.

Algoritmul funcției sscanf().

imprimare python cu 2 zecimale
  1. Funcția sscanf() aparține clasei stringstream, așa că trebuie să importam clasa în programul nostru.
  2. Inițializați un șir de caractere constant str.
  3. Creați o variabilă întreagă pentru a păstra șirul convertit în valori întregi.
  4. Treceți variabila șir în funcția sscanf() și atribuiți funcția sscanf() variabilei întregi pentru a stoca valoarea întreagă generată de funcție.
  5. Tipăriți valorile întregi.

Să luăm în considerare un exemplu de utilizare a funcției sscanf() pentru a converti șirul în număr numeric în 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></'>

Folosind funcția stoi().

Funcția stoi() convertește un șir de date într-un tip întreg, trecând șirul ca parametru pentru a returna o valoare întreagă.

Sintaxă

 stoi(str); 

Funcția stoi() conține un argument str. Șirul str este trecut în interiorul funcției stoi() pentru a converti datele șirului într-o valoare întreagă.

Algoritmul funcției stoi().

  1. Inițializați variabila șir pentru a stoca valorile șir.
  2. După aceea, creează o variabilă de tip întreg care stochează conversia șirului de caractere în date de tip întreg folosind funcția stoi().
  3. Tipăriți valoarea variabilei întregi.

Să creăm un program care să folosească funcția stoi() pentru a converti valoarea șirului în tipul întreg în limbajul de programare C++.

umplutură np

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;>

Folosind funcția atoi().

O funcție atoi() este utilizată pentru a converti șirul de caractere într-o valoare întreagă. O funcție atoi() transmite șirul tip caracter pentru a returna datele întregi.

Sintaxă

 atoi (const char *str); 

Algoritmul funcției atoi().

  1. Inițializați o matrice de caractere de tip pointer pentru a stoca un șir.
  2. După aceea, creează o variabilă de tip întreg care stochează conversia șirului de caractere în date de tip întreg folosind funcția atoi().
  3. Tipăriți valoarea variabilei întregi.

Să creăm un program care să folosească funcția atoi() pentru a converti valoarea șirului în tipul întreg în limbajul de programare 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;>