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

Функция stold

Функция stold преобразует строку в число с плавающей точкой типа long double. В первый параметр мы передаем строку для преобразования, а во второй необязательный параметр - указатель на переменную типа size_t, в которую будет записана позиция первого символа, следующего после числа. Функция объявлена в заголовочном файле <string> и доступна начиная со стандарта C++11.

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

Синтаксис

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

Пример

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

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

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

123.45

Пример

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

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

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

123.45 6

Пример

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

#include <iostream> #include <string> using namespace std; int main() { string str = "abcde"; try { long double res = stold(str); cout << res << endl; } catch (const invalid_argument& e) { cout << "invalid_argument" << endl; } return 0; }

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

"invalid_argument"

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

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