Как преобразовать строку в int в C++?

Как преобразовать строку в int в C++ Программирование и разработка

Объявление типа данных переменной является обязательным в C ++, потому что это строго типизированный язык. Иногда для целей программирования требуется изменить тип данных переменной с одного типа на другой, например, строку на int или int на строку. Этот тип преобразования может быть выполнен в C ++ с использованием различных типов встроенных функций. В этом руководстве были показаны различные способы преобразования строки в int в C ++.

Предварительные условия:

Прежде чем проверять примеры этого руководства, вы должны проверить, установлен ли компилятор g ++ в системе. Если вы используете Visual Studio Code, установите необходимые расширения для компиляции исходного кода C ++ и создания исполняемого кода. Здесь приложение Visual Studio Code было использовано для компиляции и выполнения кода C ++.

Использование функции atoi ()

Функция atoi () используется для возврата числа путем преобразования строки, созданной массивом символов, в целое число. Для использования этой функции необходимо включить заголовочный файл cstdlib.

Синтаксис:

int atoi(const char *str)

Создайте файл C ++ со следующим кодом для преобразования строки чисел в целое число с помощью функции atoi (). Здесь функция strcpy () использовалась для преобразования строки в массив символов. Значение входной строки преобразовано в массив символов, и преобразованное значение было использовано в функции atoi () для получения целочисленного значения строки. Затем преобразованное целое число будет напечатано, если преобразование выполнено правильно.

//Include for printing the output

#include <iostream>

//Include for using the atoi() function

#include <cstdlib>

//Include for using the strcpy function

#include <cstring>

intmain() {

//Declare a string variable
std::string strData;
//Declare a chracter array variable
charstrarr[50];

//Take a number from the user
std::cout<>strData;

//Convert the string into a charcater array
strcpy(strarr, strData.c_str());
//Convert the character array into a integer

int number = std::atoi(strarr);
//Print the number
std::cout<<«The converted number is = «<< number <<\n;
return0;
}

Выход:

Следующие выходные данные появятся, если 6090 будет принято в качестве входных данных после выполнения кода.

Следующие выходные данные появятся, если 6090 будет принято в качестве входных данных

Использование функции stoi ()

Функция atoi () используется для возврата числа путем преобразования строкового значения в целое число. Первый аргумент этой функции является обязательным, а остальные аргументы — необязательными. Синтаксис этой функции приведен ниже.

Синтаксис:

int stoi (const string& str, size_t* idx = 0, int base = 10)

Создайте файл C ++ со следующим кодом для преобразования строки в целое число с помощью функции stoi (). После выполнения кода входное значение, полученное от пользователя, будет преобразовано в число и распечатано, если входное значение является допустимым числом. Если входное значение содержит какой-либо алфавитный или нечисловой символ, будет сгенерировано исключение invalid_argument и будет напечатано сообщение об ошибке.

//Include for printing the output

#include <iostream>

intmain()
{
//Declare a string variable
std::string strData;

//Take a number from the user
std::cout<>strData;

//Convert the string into number with error handling
try {
//Convert the string into integer
int number = std::stoi(strData);
//Print the converted number
std::cout<<«The converted number is = «<< number <<\n;
}
//Handle error if invalid number is given
catch (std::invalid_argumentconst&e) {
std::cout<<«Input value is not a number.\n«;
}
return0;
}

Выход:

Следующий вывод появится, если после выполнения кода в качестве входных данных будет выбрано 4577.

Следующий вывод появится, если после выполнения кода в качестве входных данных будет выбрано 4577

Следующий вывод появится, если после выполнения кода будет принято приветствие в качестве ввода.

Следующий вывод появится, если после выполнения кода будет принято приветствие в качестве ввода

Использование строковых потоков

Использование функции istringstream () — еще один способ преобразовать строку в целое число с помощью оператора ’>>’. Создайте файл C ++ со следующим кодом для преобразования строковых данных в целое число с помощью функции istringstream (). Строковое значение чисел было присвоено строковой переменной в коде, который использовался в качестве значения аргумента функции istringstream (). Затем было напечатано преобразованное целочисленное значение.

//Include for printing the output

#include <iostream>

//Include for using the istringstream() function

#include <sstream>

intmain()
{
//Declare a string variable
std::string strData = «12345»;
//Declare an integer variable
intnumber;
//Convert the string into the integer
std::istringstream(strData) >> number;
//Print the converted number
std::cout<<«The converted number is = «<< number <<\n;
return0;
}

Выход:

После выполнения кода появится следующий вывод.

После выполнения кода появится следующий вывод

Используя функцию sscanf ()

Использование функции sscanf () — еще один способ преобразовать строку в целое число. Для использования этой функции необходимо включить заголовочный файл cstdio. Создайте файл C ++ со следующим кодом для преобразования строкового значения в целое число с помощью функции sscanf (). После выполнения скрипта у пользователя будет взято строковое значение. Если входное значение является допустимым числовым значением, то входное значение будет преобразовано в целое число и напечатано; в противном случае будет напечатано сообщение об ошибке.

//Include for printing the output

#include <iostream>

//Include for using the sscanf() function

#include <cstdio>

intmain() {
//Declare a string variable
std::string strData;
//Declare an integer variable
intnumber;

//Take a number from the user
std::cout<>strData;
if (sscanf(strData.c_str(), «%d», &number) == 1) {
//Print the converted number
std::cout<<«The converted number is = «<< number <<\n;
}
else {
//Print the error message
std::cout<<«Input value is not a number.\n«;
}
return0;
}

Выход:

Следующий вывод появится, если 78325 будет принят в качестве ввода после выполнения кода.

Следующий вывод появится, если 78325 будет принят в качестве ввода после выполнения кода

Использование цикла for

В следующем примере показано, как преобразовать строковое значение в целочисленное значение без использования какой-либо встроенной функции. Создайте файл C ++ со следующим кодом для преобразования строкового значения в целое число с помощью цикла for. Значение строки, число было назначено в переменный, которая была использована в » для » петли, чтобы преобразовать строку в целое число.

#include <iostream>

#include <string>

intmain()
{
//Declare a string variable
std::string strData = «6000»;
//Declare an integer variable
intnumber;

//Convert the string into integer
for (charchr: strData)
{
if (chr>= ‘0’&&chr<= ‘9’) {
number = number * 10 + (chr  ‘0’);
}

//Print the converted number
std::cout<<«The converted number is = «<< number <<\n;
return0;
}

Выход:

Если после выполнения кода в качестве входных данных будет выбрано 6000, появится следующий вывод.

Если после выполнения кода в качестве входных данных будет выбрано 6000, появится следующий вывод

Заключение

В этом руководстве описаны пять различных способов преобразования строки в число с использованием простых примеров, помогающих читателям узнать, как преобразовать любую строку в целое число в программировании на C ++.

Читайте также:  Для чего используется Python
Оцените статью
bestprogrammer.ru
Добавить комментарий