logo

Перетворення рядка на ціле число в C++

У цьому розділі обговорюватимуться різні методи перетворення заданих рядкових даних у ціле число за допомогою мови програмування C++. Існують ситуації або випадки, коли нам потрібно перетворити певні дані в інший тип, і одна з таких ситуацій полягає в тому, щоб перетворити рядок на дані int у програмуванні.

Наприклад, у нас є числовий рядок як ' 143 ', і ми хочемо перетворити його на числовий тип. Нам потрібно використати функцію, яка перетворює рядок на ціле число та повертає числові дані як 143. Тепер ми вивчимо кожен метод, який допомагає перетворювати рядкові дані на цілі числа мовою програмування C++.

Перетворення рядка на ціле число в C++

Різні методи перетворення рядкових даних у цілі числа мовою програмування C++.

  1. Використання класу stringstream
  2. Використання функції stoi().
  3. Використання функції atoi().
  4. Використання функції sscanf().

Використання класу stringstream

The рядковий потік це клас, який використовується для перетворення числового рядка в тип int. Клас stringstream оголошує об’єкт потоку, щоб вставити рядок як об’єкт потоку, а потім витягує перетворені цілі дані на основі потоків. Клас stringstream має оператори «<>», які використовуються для отримання даних від (<>) лівого оператора.

Давайте створимо програму для демонстрації класу stringstream для перетворення рядкових даних у ціле число мовою програмування C++.

тип в 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; } 

Вихід

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

У наведеній вище програмі ми використовуємо клас stringstream для створення об’єкта obj, і це допомагає перетворювати рядкові дані в ціле число. Потім ми використовуємо оператор «<>», щоб витягти перетворений рядок з obj у числові дані.

Використання функції sscanf().

Функція sscanf() перетворює заданий рядок у вказаний тип даних, як ціле число.

Синтаксис

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

Функція sscanf() має три аргументи для визначення рядка символів (str), специфікатора даних (%d) і цілочисельної змінної (&intvar) для збереження перетвореного рядка.

листоноша

Алгоритм функції sscanf().

  1. Функція sscanf() належить до класу stringstream, тому нам потрібно імпортувати клас у нашу програму.
  2. Ініціалізувати рядок постійних символів str.
  3. Створіть цілочисельну змінну, щоб зберігати перетворений рядок у цілочисельні значення.
  4. Передайте рядкову змінну у функцію sscanf() і призначте функцію sscanf() цілочисельній змінній, щоб зберегти ціле значення, згенероване цією функцією.
  5. Вивести цілі значення.

Давайте розглянемо приклад використання функції sscanf() для перетворення рядка в числове число в 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></'>

Використання функції stoi().

Функція stoi() перетворює рядкові дані в цілочисельний тип, передаючи рядок як параметр для повернення цілого значення.

Синтаксис

 stoi(str); 

Функція stoi() містить аргумент str. Рядок str передається всередину функції stoi() для перетворення рядкових даних у ціле число.

Алгоритм функції stoi().

  1. Ініціалізуйте рядкову змінну для зберігання рядкових значень.
  2. Після цього він створює змінну цілого типу, яка зберігає перетворення рядка в дані цілого типу за допомогою функції stoi().
  3. Вивести значення цілочисельної змінної.

Давайте створимо програму для використання функції stoi() для перетворення рядкового значення в цілий тип на мові програмування 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;>

Використання функції atoi().

Функція atoi() використовується для перетворення рядка символів у ціле число. Функція atoi() передає рядок символьного типу, щоб повернути цілочисельні дані.

Синтаксис

 atoi (const char *str); 

Алгоритм функції atoi().

  1. Ініціалізація масиву символів типу вказівника для зберігання рядка.
  2. Після цього він створює змінну цілого типу, яка зберігає перетворення рядка в дані цілого типу за допомогою функції atoi().
  3. Вивести значення цілочисельної змінної.

Давайте створимо програму для використання функції atoi() для перетворення рядкового значення в цілочисельний тип мовою програмування 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;>