std::atof
Определено в заголовочном файле <cstdlib> | ||
|---|---|---|
double atof( const char* str ); |
Интерпретирует значение с плавающей запятой в строке байтов, на которую указывает str.
Функция игнорирует все символы пробела (как определено в std::isspace) до тех пор, пока не встретится первый символ, не являющийся пробелом. Затем она берет как можно больше символов для формирования корректного представления с плавающей запятой и преобразует их в значение с плавающей запятой. Корректное значение с плавающей запятой может быть одним из следующих:
- десятичное представление с плавающей запятой. Оно состоит из следующих частей:
- (необязательно) знак плюс или минус
- непустая последовательность десятичных цифр, которая может содержать десятичную точку (как определено текущим C locale) (определяет мантиссу)
- (необязательно)
eилиE, за которыми следует необязательный знак плюс или минус и непустая последовательность десятичных цифр (определяет показатель степени в десятичной системе)
| (с C++11) |
- любое другое представление, которое может быть принято текущим C locale
Параметры
| str | - | указатель на завершаемую нулём строку байтов, подлежащую интерпретации |
Возвращаемое значение
Значение с плавающей запятой, соответствующее содержимому 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("invalid") << '\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 |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/string/byte/atof