РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
745 of 815 menu

Функция stod

Функция stod преобразует строку в число типа double. В первый параметр мы передаём строку, которую нужно преобразовать, а во второй необязательный параметр - указатель на переменную типа size_t, в которую будет записана позиция первого символа, следующего после числа. Функция пропускает ведущие пробельные символы и читает число до первого символа, который не может быть частью числа.

Если преобразование невозможно, функция выбрасывает исключение std::invalid_argument. Если полученное число выходит за пределы диапазона типа double, выбрасывается исключение std::out_of_range.

Синтаксис

double stod(const string& str, size_t* pos = 0);

Пример

Давайте преобразуем строку "123.45" в число типа double и выведем результат:

#include <iostream> #include <string> using namespace std; int main() { string str = "123.45"; double res = stod(str); cout << res << endl; return 0; }

Результат выполнения кода:

123.45

Пример

Давайте преобразуем строку "3.14abc" и узнаем позицию, на которой остановилось чтение числа:

#include <iostream> #include <string> using namespace std; int main() { string str = "3.14abc"; size_t pos; double res = stod(str, &pos); cout << res << endl; cout << pos << endl; return 0; }

Результат выполнения кода:

3.14 4

Пример

Давайте попробуем преобразовать строку "abc", которая не содержит числа, и обработаем исключение:

#include <iostream> #include <string> #include <stdexcept> using namespace std; int main() { string str = "abc"; try { double res = stod(str); cout << res << endl; } catch (const invalid_argument& e) { cout << "invalid argument" << endl; } return 0; }

Результат выполнения кода:

"invalid argument"

Смотрите также

  • функция stof,
    которая преобразует строку в float
  • функция stold,
    которая преобразует строку в long double
  • функция to-double,
    которая преобразует значение в double
  • функция to-string,
    которая преобразует число в строку
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить