ecvt(3C) manual page
Table of Contents
ecvt, fcvt, gcvt - convert floating-point number to string
#include <stdlib.h>
char *ecvt(double value, int ndigit, int *decpt, int *sign);
char *fcvt(double value, int ndigit, int *decpt, int *sign);
char *gcvt(double
value, int ndigit, char *buf);
Unsafe
ecvt() converts
value to a null-terminated string of ndigit digits and returns 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() is identical to ecvt(), except
that the correct digit has been rounded for printf %f output of the number
of digits specified by ndigit.
gcvt() converts the value to a null-terminated
string in the array pointed to by buf and returns buf. It attempts 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.
printf(3S)
The values returned by ecvt()
and fcvt() point to a single static data array whose content is overwritten
by each call.
Table of Contents