std:: atof
|
Определено в заголовочном файле
<cstdlib>
|
||
|
double
atof
(
const
char
*
str
)
;
|
||
Интерпретирует значение с плавающей точкой в строке байтов, на которую указывает str .
Функция отбрасывает все пробельные символы (определяемые с помощью std::isspace ) до тех пор, пока не будет найден первый непробельный символ. Затем она принимает максимально возможное количество символов, формирующих корректное представление числа с плавающей точкой, и преобразует их в значение с плавающей точкой. Корректное значение с плавающей точкой может быть одним из следующих:
- десятичное выражение с плавающей запятой. Оно состоит из следующих частей:
-
- (необязательно) знак плюс или минус
- непустая последовательность десятичных цифр, возможно содержащая символ десятичной точки (определяется текущей локалью C) (определяет мантиссу)
-
(необязательно)
eилиEс последующим необязательным знаком минус или плюс и непустой последовательностью десятичных цифр (определяет экспоненту по основанию 10 )
|
(since C++11) |
- любое другое выражение, которое может быть принято текущей установленной C locale .
Содержание |
Параметры
| 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("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
|
|