Строка в int в C++
Текст из цифр переводят в int функцией
std::stoi. После перевода плюс складывает
числа, а не склеивает текст:
std::string str = "12";
int num = std::stoi(str);
std::cout << num + 3 << "\n"; // выведет 15
Минус в тексте допустим:
std::string str = "-4";
std::cout << std::stoi(str) << "\n"; // выведет -4
Если цифр в тексте нет, программа останавливается:
std::string str = "abc";
std::cout << std::stoi(str) << "\n"; // ошибка
Буквы после цифр чтению не мешают. Функция
забирает число до первой неподходящей буквы.
Точка для целого тоже лишняя, поэтому из
"1.5" получается 1:
std::string str = "12a";
std::cout << std::stoi(str) << "\n"; // выведет 12
std::string str = "1.5";
std::cout << std::stoi(str) << "\n"; // выведет 1
Число, которое не влезает в int,
останавливает программу. Такой текст переводят
в long long, это следующий урок:
std::string str = "3000000000";
std::cout << std::stoi(str) << "\n"; // ошибка
Даны две переменные:
std::string str1 = "8";
std::string str2 = "5";
Найдите сумму чисел из этих строк и выведите ее.
Даны две переменные:
std::string str1 = "14";
std::string str2 = "6";
Найдите сумму чисел из этих строк и выведите ее.
Даны две переменные:
std::string str1 = "20";
std::string str2 = "7";
Найдите разность чисел из этих строк: вычтите второе из первого и выведите ее.
Дана переменная:
std::string str = "-9";
Найдите число из этой строки и выведите его.