Provided by: manpages-ru-dev_4.18.1-1_all bug

ИМЯ

       strtod, strtof, strtold - преобразует строку ASCII в число с плавающей точкой

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #include <stdlib.h>

       double strtod(const char *restrict nptr, char **restrict endptr);
       float strtof(const char *restrict nptr, char **restrict endptr);
       long double strtold(const char *restrict nptr, char **restrict endptr);

   Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

       strtof(), strtold():
           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

ОПИСАНИЕ

       Функции  strtod(),  strtof()  и  strtold()  преобразуют начальную часть строки, на которую
       указывает nptr, в числа типа double, float, и long double, соответственно.

       The expected form of the (initial portion of the) string is optional leading  white  space
       as  recognized  by  isspace(3), an optional plus ('+') or minus sign ('-') and then either
       (i) a decimal number, or (ii) a hexadecimal number, or (iii) an infinity, or  (iv)  a  NAN
       (not-a-number).

       A  decimal  number consists of a nonempty sequence of decimal digits possibly containing a
       radix character (decimal point, locale-dependent, usually '.'), optionally followed  by  a
       decimal  exponent.   A decimal exponent consists of an 'E' or 'e', followed by an optional
       plus or minus sign, followed by a nonempty  sequence  of  decimal  digits,  and  indicates
       multiplication by a power of 10.

       A  hexadecimal  number  consists  of  a  "0x"  or  "0X" followed by a nonempty sequence of
       hexadecimal digits possibly containing a radix character, optionally followed by a  binary
       exponent.   A  binary  exponent  consists of a 'P' or 'p', followed by an optional plus or
       minus  sign,  followed  by  a  nonempty  sequence  of  decimal   digits,   and   indicates
       multiplication  by a power of 2.  At least one of radix character and binary exponent must
       be present.

       Бесконечность — это либо значение «INF» либо «INFINITY», регистр символов не учитывается.

       Нечисловое значение (NAN) — это значение «NAN» (регистр символов не учитывается)  возможно
       сопровождаемое   (последовательность  n  символов),  где  последовательность  n  символов,
       определяет тип нечислового значения в зависимости от текущего представления NAN в  системе
       (смотрите ЗАМЕЧАНИЯ).

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       Функции возвращают преобразованное значение, если таковое существует.

       Если  endptr  не  равно  NULL, то указатель на символ, следующий за последним обработанным
       символом, сохраняется в место, указываемое endptr.

       Если никаких преобразований не  производилось,  то  возвращается  ноль,  а  значение  nptr
       сохраняется в той позиции, на которую ссылается endptr (если endptr не равно null).

       If the correct value would cause overflow, plus or minus HUGE_VAL, HUGE_VALF, or HUGE_VALL
       is returned (according to the return type and sign of the value), and ERANGE is stored  in
       errno.

       If the correct value would cause underflow, a value with magnitude no larger than DBL_MIN,
       FLT_MIN, or LDBL_MIN is returned and ERANGE is stored in errno.

ОШИБКИ

       ERANGE Величина оказалась слишком большой или очень маленькой.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).

       ┌─────────────────────────────────────────────────┬──────────────────────┬────────────────┐
       │ИнтерфейсАтрибутЗначение       │
       ├─────────────────────────────────────────────────┼──────────────────────┼────────────────┤
       │strtod(), strtof(), strtold()                    │ Безвредность в нитях │ MT-Safe locale │
       └─────────────────────────────────────────────────┴──────────────────────┴────────────────┘

СТАНДАРТЫ

       POSIX.1-2001, POSIX.1-2008, C99.

ЗАМЕЧАНИЯ

       Так как возвращаемым значением может быть 0 при успешном выполнении и  ошибке,  вызывающая
       программа  должна  присвоить  errno  значение  0  до  вызова,  а  после  вызова определить
       возникновение ошибки по ненулевому значению errno.

       В реализации glibc последовательность n символов, которая может  появляться  после  «NAN»,
       рассматривается  как  целое  число  (с  необязательным префиксом «0» или «0x» для указания
       системы счисления 8 или 16), которое будет помещено в мантиссу возвращаемого значения.

ПРИМЕРЫ

       Пример можно найти в справочной странице strtol(3); в ней показано  использование  похожих
       функций.

СМ. ТАКЖЕ

       atof(3), atoi(3), atol(3), nan(3), nanf(3), nanl(3), strfromd(3), strtol(3), strtoul(3)

ПЕРЕВОД

       Русский    перевод    этой    страницы    руководства   был   сделан   Alexander   Golubev
       <fatzer2@gmail.com>,  Azamat  Hackimov  <azamat.hackimov@gmail.com>,   Hotellook,   Nikita
       <zxcvbnm3230@mail.ru>,       Spiros       Georgaras       <sng@hellug.gr>,       Vladislav
       <ivladislavefimov@gmail.com>,   Yuri   Kozlov   <yuray@komyakino.ru>   и    Иван    Павлов
       <pavia00@gmail.com>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если  вы  обнаружите  ошибки  в  переводе этой страницы руководства, пожалуйста, отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.