Provided by: manpages-ru-dev_4.21.0-2_all bug

ИМЯ

       ecvt, fcvt - преобразование числа с плавающей точкой в строку

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #include <stdlib.h>

       [[deprecated]] char *ecvt(double number, int ndigits,
                                 int *restrict decpt, int *restrict sign);
       [[deprecated]] char *fcvt(double number, int ndigits,
                                 int *restrict decpt, int *restrict sign);

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

       ecvt(), fcvt():
           Since glibc 2.17
               (_XOPEN_SOURCE >= 500 && ! (_POSIX_C_SOURCE >= 200809L))
                   || /* glibc >= 2.20 */ _DEFAULT_SOURCE
                   || /* glibc <= 2.19 */ _SVID_SOURCE
           glibc 2.12 to glibc 2.16:
               (_XOPEN_SOURCE >= 500 && ! (_POSIX_C_SOURCE >= 200112L))
                   || _SVID_SOURCE
           Before glibc 2.12:
               _SVID_SOURCE || _XOPEN_SOURCE >= 500

ОПИСАНИЕ

       Функция  ecvt()  преобразует number в строку с завершающим null-символом ndigits цифр (количество ndigits
       усекается до пределов точности, определённых форматом double) и возвращает  указатель  на  строку.  Самый
       старший  разряд полученного числа не будет равен нулю, если только само число number не равно нулю. Самый
       младший разряд округляется. Строка сама по себе не содержит разделителя целой  и  дробной  части,  однако
       позиция  разделителя  относительно  начала  строки  сохраняется  в  *decpt. Отрицательное значение *decpt
       означает, что разделитель находится слева от начала строки. Если число  number  отрицательное,  то  *sign
       устанавливается  в  ненулевое значение, иначе равно нулю. Если number равно нулю, то не определено, равен
       ли *decpt 0 или 1.

       Функция  fcvt()  аналогична  ecvt(),  за  исключением  того,  что  ndigits  указывает  число  цифр  после
       разделителя.

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

       Обе  функции, ecvt() и fcvt(), возвращают указатель на статическую строку, содержащую ASCII-представление
       number. Статическая строка перезаписывается каждый раз при вызове ecvt() или fcvt().

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).
       ┌──────────────────────────────────────────────────────────┬──────────────────────┬─────────────────────┐
       │ ИнтерфейсАтрибутЗначение            │
       ├──────────────────────────────────────────────────────────┼──────────────────────┼─────────────────────┤
       │ ecvt()                                                   │ Безвредность в нитях │ MT-Unsafe race:ecvt │
       ├──────────────────────────────────────────────────────────┼──────────────────────┼─────────────────────┤
       │ fcvt()                                                   │ Безвредность в нитях │ MT-Unsafe race:fcvt │
       └──────────────────────────────────────────────────────────┴──────────────────────┴─────────────────────┘

СТАНДАРТЫ

       SVr2; отмечены в POSIX.1-2001 как УСТАРЕВШИЕ. В POSIX.1-2008 спецификации ecvt() и fcvt() удалены, вместо
       них рекомендуется использовать sprintf(3) (однако snprintf(3) может быть предпочтительнее).

ЗАМЕЧАНИЯ

       Не все локали используют точку в качестве разделителя целой и дробной части («десятичная точка»).

СМ. ТАКЖЕ

       ecvt_r(3), gcvt(3), qecvt(3), setlocale(3), sprintf(3)

ПЕРЕВОД

       Русский перевод этой страницы руководства был сделан Azamat  Hackimov  <azamat.hackimov@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 г.                                        ecvt(3)