#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);
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.
Note: Most applications should use sprintf [see fprintf(3S)], strtod(3C) and strtold [see strtod(3C)] instead of these functions.