# ecvt

## NAME



           ecvt, fcvt - convert a floating-point number to a string
    


## LIBRARY



           Standard C library (_libc_ , _-lc_)
    


## SYNOPSIS



           **#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_**);**
    
       Feature Test Macro Requirements for glibc (see
       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
    


## DESCRIPTION



           The **ecvt**() function converts _number_ to a null-terminated string of
           _ndigits_ digits (where _ndigits_ is reduced to a system-specific
           limit determined by the precision of a _double_), and returns a
           pointer to the string.  The high-order digit is nonzero, unless
           _number_ is zero.  The low order digit is rounded.  The string
           itself does not contain a decimal point; however, the position of
           the decimal point relative to the start of the string is stored in
           _*decpt_.  A negative value for _*decpt_ means that the decimal point
           is to the left of the start of the string.  If the sign of _number_
           is negative, _*sign_ is set to a nonzero value, otherwise it is set
           to 0.  If _number_ is zero, it is unspecified whether _*decpt_ is 0 or
           1.
    
           The **fcvt**() function is identical to **ecvt**(), except that _ndigits_
           specifies the number of digits after the decimal point.
    


## RETURN VALUE



           Both the **ecvt**() and **fcvt**() functions return a pointer to a static
           string containing the ASCII representation of _number_.  The static
           string is overwritten by each call to **ecvt**() or **fcvt**().
    


## ATTRIBUTES



           For an explanation of the terms used in this section, see
           attributes(7).
           ┌──────────────────────────┬───────────────┬─────────────────────┐
           │ **Interface** │ **Attribute** │ **Value** │
           ├──────────────────────────┼───────────────┼─────────────────────┤
           │ **ecvt**()                   │ Thread safety │ MT-Unsafe race:ecvt │
           ├──────────────────────────┼───────────────┼─────────────────────┤
           │ **fcvt**()                   │ Thread safety │ MT-Unsafe race:fcvt │
           └──────────────────────────┴───────────────┴─────────────────────┘
    


## STANDARDS



           None.
    


## NOTES



           Not all locales use a point as the radix character ("decimal
           point").
    


* * *