Provided by: manpages-ru-dev_4.21.0-2_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
       или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

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

Linux man-pages 6.03                            5 февраля 2023 г.                                      strtod(3)