ecvt(3C) UNIX System V(C Programming Language Utilities) ecvt(3C)
NAME
ecvt, ecvtl, fcvt, fcvtl, gcvt, gcvtl - convert floating-point number to
string
SYNOPSIS
#include <stdlib.h>
char *ecvt (double value, int ndigit, int *decpt, int *sign);
char *ecvtl (long double value, int ndigit, int *decpt, int *sign);
char *fcvt (double value, int ndigit, int *decpt, int *sign);
char *fcvtl (long double value, int ndigit, int *decpt, int *sign);
char *gcvt (double value, int ndigit, char *buf);
char *gcvtl (long double value, int ndigit, char *buf);
DESCRIPTION
ecvt and ecvtl convert value to a null-terminated string of ndigit digits
and return a pointer thereto. The high-order digit is non-zero, unless
the value is zero. The low-order digit is rounded. The position of the
decimal point relative to the beginning of the string is stored
indirectly through decpt (negative means to the left of the returned
digits). The decimal point is not included in the returned string. If
the sign of the result is negative, the word pointed to by sign is non-
zero, otherwise it is zero.
fcvt and fcvtl are identical to ecvt and ecvtl, except that the correct
digit has been rounded for printf %f output of the number of digits
specified by ndigit.
gcvt and gcvtl convert the value to a null-terminated string in the array
pointed to by buf and return buf. They attempt to produce ndigit
significant digits in %f format if possible, otherwise %e format
(scientific notation), ready for printing. A minus sign, if there is one,
or a decimal point will be included as part of the returned string.
Trailing zeros are suppressed.
SEE ALSO
printf(3S).
NOTES
The values returned by ecvt, ecvtl, fcvt, and fcvtl point to a single
static data array whose content is overwritten by each call.
10/89 Page 1