std::atof
Материал из cppreference.com
Определено в заголовочном файле <cstdlib> | ||
double atof(constchar*str ); | ||
Конвертирует строку, доступную по указателю str, в число с плавающей запятой.
Функция отбрасывает пробельные символы (определяемые с помощью std::isspace), пока не будет найден первый непробельный символ. Затем требуется как можно больше символов для формирования допустимого представления с плавающей запятой, и они преобразуются в значение с плавающей запятой. Допустимое значение с плавающей запятой может быть одним из следующих:
- десятичное выражение с плавающей запятой. Оно состоит из следующих частей:
- (необязательно) знак плюс или минус
- непустая последовательность десятичных цифр, необязательно содержащая символ десятичной точки (как определено текущей локалью C) (определяет мантиссу)
- (необязательно) символ
e
илиE
, за которым следует необязательный знак минус или плюс и непустая последовательность десятичных цифр (определяет экспоненту по основанию 10)
| (начиная с C++11) |
- любое другое выражение, которое может быть принято текущей установленной локалью C
Содержание |
[править]Параметры
str | — | указатель на строку байтов с завершающим нулём, которую нужно интерпретировать |
[править]Возвращаемое значение
Значение double, соответствующее содержимому str в случае успеха. Если преобразованное значение выходит за пределы диапазона возвращаемого типа, возвращаемое значение не определено. Если преобразование невозможно, возвращается 0.0.
[править]Пример
Запустить этот код
#include <cstdlib>#include <iostream> int main(){std::cout<< std::atof("0.0000000123")<<'\n'<< std::atof("0.012")<<'\n'<< std::atof("15e16")<<'\n'<< std::atof("-0x1afp-2")<<'\n'<< std::atof("inF")<<'\n'<< std::atof("Nan")<<'\n'<< std::atof("ошибка")<<'\n';}
Вывод:
1.23e-08 0.012 1.5e+17 -107.75 inf nan 0
[править]Смотрите также
(C++11)(C++11)(C++11) | преобразует строку в значение с плавающей запятой (функция) |
преобразует байтовую строку в число с плавающей запятой (функция) | |
(C++17) | преобразует последовательность символов в целое число или значение с плавающей запятой (функция) |
(C++11) | преобразует байтовую строку в целочисленное значение (функция) |
Документация C по atof |