ECVT(3) Linux Programmer's Manual ECVT(3)
NAME
ecvt, fcvt - convert a floating-point number to a string.
SYNOPSIS
#include <stdlib.h>
char *ecvt(double number, int ndigits, int *decpt, int
*sign);
char *fcvt(double number, int ndigits, int *decpt, int
*sign);
DESCRIPTION
The ecvt() function converts number to a null-terminated
string of ndigits digits (where ndigits is reduced to an
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 con-
tain 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 non-zero
value, otherwise it's 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 num-
ber. The static string is overwritten by each call to
ecvt() or fcvt().
NOTES
These functions are obsolete. Instead, sprintf() is recom-
mended. Linux libc4 and libc5 specified the type of ndig-
its as size_t. Not all locales use a point as the radix
character (`decimal point').
CONFORMING TO
SysVR2, XPG2
SEE ALSO
gcvt(3), setlocale(3), sprintf(3)
25 June 1999 1