Пространства имён
Варианты
Действия

std::stof, std::stod, std::stold

Материал из cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
Функции-члены
basic_string::basic_string
basic_string::operator=
basic_string::assign
basic_string::get_allocator
Доступ к элементам
basic_string::at
basic_string::operator[]
basic_string::front(C++11)
basic_string::back(C++11)
basic_string::data
basic_string::c_str
Итераторы
basic_string::begin
basic_string::cbegin

(C++11)
basic_string::end
basic_string::cend

(C++11)
basic_string::rbegin
basic_string::crbegin

(C++11)
basic_string::rend
basic_string::crend

(C++11)
Вместимость
basic_string::empty
basic_string::size
basic_string::length
basic_string::max_size
basic_string::reserve
basic_string::capacity
basic_string::shrink_to_fit(C++11)
Операции
basic_string::clear
basic_string::insert
basic_string::erase
basic_string::push_back
basic_string::pop_back(C++11)
basic_string::append
basic_string::operator+=
basic_string::compare
basic_string::replace
basic_string::substr
basic_string::copy
basic_string::resize
basic_string::swap
Поиск
basic_string::find
basic_string::rfind
basic_string::find_first_of
basic_string::find_first_not_of
basic_string::find_last_of
basic_string::find_last_not_of
Константы
basic_string::npos
Функции, не являющиеся членами
operator+
operator==
operator!=
operator<
operator>
operator<=
operator>=
swap(std::basic_string)
operator<<
operator>>
getline
stoi
stol
stoll
(C++11)
(C++11)
(C++11)
stoul
stoull
(C++11)
(C++11)
stof
stod
stold
(C++11)
(C++11)
(C++11)
to_string(C++11)
to_wstring(C++11)
Вспомогательные классы
hash<std::string>
hash<std::wstring>
hash<std::u32string>
hash<std::u16string>
(C++11)
 
Определено в заголовочном файле <string>
float       stof( const std::string& str, size_t *pos = 0 );
(1) (начиная с C++11)
double      stod( const std::string& str, size_t *pos = 0 );
(2) (начиная с C++11)
long double stold( const std::string& str, size_t *pos = 0 );
(3) (начиная с C++11)

Извлекает число с плавающей точкой из строки str.

Функция отбрасывает пробельные символы (определяемые с помощью std::isspace()), пока не будет найден первый непробельный символ. Затем из строки извлекаются символы, необходимые для формирования корректного представления числа с плавающей точкой и преобразуются в непосредственное значение данного числа. Допустимое значение числа с плавающей точкой может быть одним из следующих:

  • десятичное выражение числа с плавающей точкой. Оно состоит из следующих частей:
  • (необязательно) знак плюс или минус
  • непустая последовательность десятичных цифр, которая может в необязательном порядке содержать десятичный разделитель (определяет мантиссу)
  • (необязательно) символ e или E, за которым следует необязательный знак минус или плюс и непустая последовательность десятичных цифр (определяет экспоненту)
  • двоичное выражение числа с плавающей точкой. Оно состоит из следующих частей:
  • (необязательно) знак плюс или минус
  • 0x или 0X
  • непустая последовательность шестнадцатеричных цифр, которая может в необязательном порядке содержать десятичный разделитель (определяет мантиссу)
  • (необязательно) символ p или P, за которым следует необязательный знак минус или плюс и непустая последовательность шестнадцатеричных цифр (определяет экспоненту)
  • выражение бесконечности. Оно состоит из следующих частей:
  • (необязательно) знак плюс или минус
  • INF или INFINITY без учета регистра
  • выражение NaN (Not-a-Number). Оно состоит из следующих частей:
  • (необязательно) знак плюс или минус
  • NAN или NAN(последовательность_символов) без учета регистра символов NAN. последовательность_символов может содержать только буквенно-цифровые символы. Результатом будет значение с плавающей точкой, т.н. тихий NaN (quiet NaN)

Индекс первого непреобразованного символа сохраняется в pos. Если в качестве pos передан NULL, параметр игнорируется.

Содержание

[править] Параметры

str - строка для преобразования
pos - адрес переменной целочисленного типа для сохранения в ней индекса первого непреобразованного символа

[править] Возвращаемое значение

Строка, преобразованная в число с плавающей точкой указанного типа.

[править] Исключения

std::invalid_argument, если преобразование не может быть выполнено

std::out_of_range, если преобразованное значение будет выходить за границы диапазона значений типа результата

[править] См. также

(C++11)
(C++11)
(C++11)
преобразует строку в знаковое целое число
(функция) [править]
(C++11)
(C++11)
преобразует строку в беззнаковое целое число
(функция) [править]