std::atof
Материал из cppreference.com
| Определён в заголовочном файле <cstdlib>
|
||
| double atof( const char *str ); |
||
Конвертирует строку, доступную по указателю str, в число с плавающей запятой.
Функция отбрасывает пробельные символы (определяемые с помощью std::isspace()), пока не будет найден первый непробельный символ. Затем из строки извлекаются символы, необходимые для формирования корректного представления числа с плавающей точкой и преобразуются в непосредственное значение данного числа. Допустимое значение числа с плавающей точкой может быть одним из следующих:
- десятичное выражение числа с плавающей точкой. Оно состоит из следующих частей:
- (необязательно) знак плюс или минус
- непустая последовательность десятичных цифр, которая может в необязательном порядке содержать десятичный разделитель (определяет мантиссу)
- (необязательно) символ
eилиE, за которым следует необязательный знак минус или плюс и непустая последовательность десятичных цифр (определяет экспоненту)
- двоичное выражение числа с плавающей точкой. Оно состоит из следующих частей:
- (необязательно) знак плюс или минус
-
0xили0X - непустая последовательность шестнадцатеричных цифр, которая может в необязательном порядке содержать десятичный разделитель (определяет мантиссу)
- (необязательно) символ
pилиP, за которым следует необязательный знак минус или плюс и непустая последовательность шестнадцатеричных цифр (определяет экспоненту)
- выражение бесконечности. Оно состоит из следующих частей:
- (необязательно) знак плюс или минус
-
INFилиINFINITYбез учета регистра
- выражение NaN (Not-a-Number). Оно состоит из следующих частей:
- (необязательно) знак плюс или минус
-
NANилиNAN(последовательность_символов)без учета регистра символовNAN. последовательность_символов может содержать только буквенно-цифровые символы. Результатом будет значение с плавающей точкой, т.н. тихий NaN (quiet NaN)
Содержание |
[править] Параметры
| 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"; }
Вывод:
1.23e-08 0.012 1.5e+17 -107.75 inf nan
[править] См. также
| Преобразует однобайтовую строку в число с плавающей запятой (функция) | |
| Справка по C — atof
| |

