Приведение типов. Часть 2
Часть раздела Основы путешествия по C++ на Coddy — урок 15 из 74.
В C++ мы можем преобразовывать числа в строки и наоборот. Чтобы преобразовать значение в строку, мы можем использовать функцию std::to_string():
int number = 789;
bool isValid = true;
string text1 = to_string(number); // становится "789"
string text2 = isValid ? "true" : "false"; // становится "true"Когда вы преобразуете double в строку с помощью to_string(), по умолчанию будет отображаться 6 знаков после запятой, даже если исходное число не имеет такого количества знаков после запятой.
Например:
double n1 = 789.0;
string text1 = to_string(n1);
// становится "789.000000"
double n2 = 789.5;
string text2 = to_string(n2);
// становится "789.500000"
double n3 = 789.123;
string text3 = to_string(n3);
// становится "789.123000"Для преобразования строки в другой тип существует несколько вариантов:
String to Integer:
string numberText = "123";
int number = stoi(numberText); // становится 123String в Double:
string decimalText = "45.67";
double decimal = stod(decimalText); // становится 45.67Примечание: При преобразовании строк в числа эти функции считывают как можно больше допустимых символов с начала строки. Они выдают ошибку только в том случае, если строка начинается с недопустимого символа:
string validStart = "42abc";
int number = stoi(validStart); // становится 42 (последующие буквы игнорируются)
string invalidStart = "abc";
int number2 = stoi(invalidStart); // Это вызовет ошибкуШпаргалка
Преобразование чисел в строки с помощью std::to_string():
int number = 789;
string text = to_string(number); // становится "789"Преобразование чисел типа double по умолчанию отображает 6 знаков после запятой:
double n = 789.5;
string text = to_string(n); // становится "789.500000"Преобразование строк в целые числа с помощью stoi():
string numberText = "123";
int number = stoi(numberText); // становится 123Преобразование строк в числа типа double с помощью stod():
string decimalText = "45.67";
double decimal = stod(decimalText); // становится 45.67Примечание: Преобразование некорректных строк в числа приведет к ошибке.
Попробуйте сами
В этом уроке нет задания по программированию.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияИнкремент и декрементПостфиксный инкремент и декрементСокращенные арифметические операцииОператоры сравненияСравнение строк7Основы ввода-вывода
Оператор coutОператор cinВвод строкПовторение — До 120Повторение — Истина или ложь3Переменные. Часть 2
Объявление типовСоглашения об именованииПовторение: инициализация переменныхПриведение типов. Часть 1Приведение типов. Часть 26Принятие решений
Оператор ifКонструкция if - elseОператор switchУсловный операторПовторение: if - elseВложенный if - else