logo

Konvertuokite eilutę į sveikąjį skaičių C++

Šiame skyriuje bus aptariami įvairūs metodai, kaip konvertuoti pateiktus eilutės duomenis į sveikąjį skaičių naudojant C++ programavimo kalbą. Yra keletas situacijų ar atvejų, kai turime konvertuoti tam tikrus duomenis į kitą tipą, ir viena iš tokių situacijų yra konvertuoti eilutę į int duomenis programuojant.

Pavyzdžiui, mes turime skaitinę eilutę kaip ' 143 “, ir norime jį konvertuoti į skaitinį tipą. Turime naudoti funkciją, kuri konvertuoja eilutę į sveikąjį skaičių ir grąžina skaitinius duomenis kaip 143. Dabar išmoksime kiekvieną metodą, kuris padeda konvertuoti eilučių duomenis į sveikuosius skaičius C++ programavimo kalba.

Konvertuokite eilutę į sveikąjį skaičių C++

Įvairūs būdai konvertuoti eilutės duomenis į sveikuosius skaičius C++ programavimo kalba.

  1. Naudojant stringstream klasę
  2. Naudojant stoi() funkciją
  3. Naudojant atoi() funkciją
  4. Naudojant sscanf() funkciją

Naudojant stringstream klasę

The styginių srautas yra klasė, naudojama skaitmeninei eilutei konvertuoti į int tipą. Styginių srauto klasė deklaruoja srauto objektą, kad įterptų eilutę kaip srauto objektą, o tada ištraukia konvertuotus sveikųjų skaičių duomenis pagal srautus. Eilučių srauto klasėje yra „<>“ operatoriai, kurie naudojami duomenims gauti iš (<>) kairiojo operatoriaus.

Sukurkime programą, kuri parodytų eilučių srauto klasę, skirtą konvertuoti eilutės duomenis į sveikąjį skaičių C++ programavimo kalba.

modemas vs maršrutizatorius

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

Išvestis

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

Aukščiau pateiktoje programoje mes naudojame stringstream klasę, kad sukurtume obj objektą, ir ji padeda konvertuoti eilutės duomenis į sveikąjį skaičių. Tada naudojame operatorių '<>', kad konvertuotą eilutę iš obj ištrauktume į skaitmeninius duomenis.

Naudojant sscanf() funkciją

Funkcija sscanf () konvertuoja nurodytą eilutę į nurodytą duomenų tipą, pavyzdžiui, sveikąjį skaičių.

Sintaksė

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

Funkcija sscanf() turi tris argumentus, nurodančius simbolių eilutę (str), duomenų specifikatorių (%d) ir sveikojo skaičiaus kintamąjį (&intvar), skirtą konvertuotai eilutei išsaugoti.

jfx java pamoka

Funkcijos sscanf() algoritmas

  1. Funkcija sscanf () priklauso stringstream klasei, todėl turime importuoti klasę į savo programą.
  2. Inicijuoti pastovią simbolių eilutę str.
  3. Sukurkite sveikojo skaičiaus kintamąjį, kad konvertuota eilutė būtų sveikųjų skaičių reikšmė.
  4. Perduokite eilutės kintamąjį į funkciją sscanf () ir priskirkite funkciją sscanf () sveikajam kintamajam, kad išsaugotumėte funkcijos sugeneruotą sveikojo skaičiaus reikšmę.
  5. Spausdinkite sveikųjų skaičių reikšmes.

Panagrinėkime pavyzdį, kaip naudoti funkciją sscanf() eilutę konvertuoti į skaitinį skaičių 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></'>

Naudojant stoi() funkciją

Funkcija stoi() konvertuoja eilutės duomenis į sveikojo skaičiaus tipą, perduodama eilutę kaip parametrą, kad būtų grąžinta sveikojo skaičiaus reikšmė.

Sintaksė

 stoi(str); 

Funkcijoje stoi() yra str argumentas. Eilutė str perduodama funkcijos stoi() viduje, kad eilutės duomenys būtų konvertuojami į sveikąjį skaičių.

Funkcijos stoi() algoritmas

  1. Inicijuokite eilutės kintamąjį, kad išsaugotumėte eilutės reikšmes.
  2. Po to jis sukuria sveikojo skaičiaus tipo kintamąjį, kuris išsaugo eilutės konvertavimą į sveikojo skaičiaus tipo duomenis, naudodamas funkciją stoi ().
  3. Išspausdinkite sveikojo skaičiaus kintamojo reikšmę.

Sukurkime programą, kuri naudotų funkciją stoi() konvertuoti eilutės reikšmę į sveikąjį skaičių C++ programavimo kalba.

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

Naudojant atoi() funkciją

Funkcija atoi() naudojama simbolių eilutei konvertuoti į sveikąjį skaičių. Funkcija atoi() perduoda simbolių tipo eilutę, kad grąžintų sveikuosius duomenis.

Sintaksė

 atoi (const char *str); 

Funkcijos atoi() algoritmas

  1. Inicijuokite žymeklio tipo simbolių masyvą, kad išsaugotumėte eilutę.
  2. Po to sukuriamas sveikojo skaičiaus kintamasis, kuriame saugomas eilutės konvertavimas į sveikojo skaičiaus tipo duomenis, naudojant funkciją atoi ().
  3. Išspausdinkite sveikojo skaičiaus kintamojo reikšmę.

Sukurkime programą, kuri naudotų funkciją atoi() konvertuoti eilutės reikšmę į sveikąjį skaičių C++ programavimo kalba.

8-1 multiplekseris

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