В C++ есть несколько способов преобразования цифр в число.
1. С помощью функции std::stoi()
: std::stoi()
преобразует строку, состоящую из цифр, в тип int
. Если строка содержит недопустимый символ, функция выбрасывает исключение std::invalid_argument
или std::out_of_range
.
Пример использования std::stoi()
:
#include <iostream> #include <string> int main() { std::string digits = "12345"; int number = std::stoi(digits); std::cout << "Number: " << number << std::endl; return 0; }
2. С помощью функции std::istringstream
: std::istringstream
является потоковым классом, который позволяет считывать данные из строки так же, как если бы они считывались из потока ввода. Метод std::istringstream::operator>>(int&)
преобразует последовательность символов в тип int
.
Пример использования std::istringstream
:
#include <iostream> #include <sstream> #include <string> int main() { std::string digits = "12345"; std::istringstream iss(digits); int number; iss >> number; std::cout << "Number: " << number << std::endl; return 0; }
3. С помощью функций std::strtod()
или std::strtol()
: std::strtod()
преобразует строку в double
, а std::strtol()
преобразует строку в длинное целое число (long int
). Эти функции позволяют указать основание системы счисления (10 для десятичного числа) и обрабатывают ошибки, если указанная строка не представляет собой действительное число.
Пример использования std::strtol()
:
#include <iostream> #include <cstdlib> #include <cstring> int main() { const char* digits = "12345"; char* end; long number = std::strtol(digits, &end, 10); std::cout << "Number: " << number << std::endl; return 0; }
В каждом из указанных примеров результат будет одинаковым - число 12345
. Выбор конкретного метода преобразования цифр в число зависит от требований вашей программы, предпочтений и специфики ваших данных.