ecvt(3C) 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 [see fprintf(3S)].
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.
REFERENCES
fprintf(3S)
NOTICES
The values returned by ecvt, ecvtl, fcvt, and fcvtl point to a
single static data array whose content is overwritten by each
call.
Copyright 1994 Novell, Inc. Page 1
ecvt(3C) ecvt(3C)
Note: Most applications should use sprintf [see fprintf(3S)],
strtod(3C) and strtold [see strtod(3C)] instead of these
functions.
Copyright 1994 Novell, Inc. Page 2