char *ecvt(double number, int ndigits, int *decpt, int *sign);
char *fcvt(double number, int ndigits, int *decpt, int *sign);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
Since glibc 2.12:
(_XOPEN_SOURCE >= 500 ||
_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) &&
!(_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)
Before glibc 2.12:
_SVID_SOURCE || _XOPEN_SOURCE >= 500 ||
_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
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 deci-
mal 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 speci-
fies the number of digits after the decimal point.
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().
SVr2; marked as LEGACY in POSIX.1-2001. POSIX.1-2008 removes the spec-
ifications of ecvt() and fcvt(), recommending the use of sprintf(3)
instead (though snprintf(3) may be preferable).
Linux libc4 and libc5 specified the type of ndigits as size_t. Not all
locales use a point as the radix character ("decimal point").
ecvt_r(3), gcvt(3), qecvt(3), setlocale(3), sprintf(3)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2017
All Rights Reserved.