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

Функция strtod

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

Синтаксис

#include <cstdlib> double strtod(const char* str, char** endptr);

Пример

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

#include <iostream> #include <cstdlib> using namespace std; int main() { const char* str = "123.45"; double res = strtod(str, nullptr); cout << res << endl; return 0; }

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

123.45

Пример

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

#include <iostream> #include <cstdlib> using namespace std; int main() { const char* str = "abcde"; double res = strtod(str, nullptr); cout << res << endl; return 0; }

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

0

Пример

Давайте используем второй параметр, чтобы узнать, на каком символе остановилось преобразование:

#include <iostream> #include <cstdlib> using namespace std; int main() { const char* str = "123.45abcde"; char* endptr; double res = strtod(str, &endptr); cout << res << endl; cout << endptr << endl; return 0; }

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

123.45 "abcde"

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

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