gcvt - Man Page

convert a floating-point number to a string


#include <stdlib.h>

char *gcvt(double number, int ndigit, char *buf);

Feature Test Macro Requirements for glibc (see feature_test_macros(7)):


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


The gcvt() function converts number to a minimal length null-terminated ASCII string and stores the result in buf. It produces ndigit significant digits in either printf(3) F format or E format.

Return Value

The gcvt() function returns buf.


For an explanation of the terms used in this section, see attributes(7).

gcvt()Thread safetyMT-Safe

Conforming to

Marked as LEGACY in POSIX.1-2001. POSIX.1-2008 removes the specification of gcvt(), recommending the use of sprintf(3) instead (though snprintf(3) may be preferable).

See Also

ecvt(3), fcvt(3), sprintf(3)


This page is part of release 5.13 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.

Referenced By

ecvt(3), qecvt(3).

2021-03-22 Linux Programmer's Manual