Manpage of ECVTBUF
1.14 `ecvtbuf', `fcvtbuf'--double or float to string
char *ecvtbuf(double VAL, int CHARS, int *DECPT,
int *SGN, char *BUF);
char *fcvtbuf(double VAL, int DECIMALS, int *DECPT,
int *SGN, char *BUF);
The only difference between `ecvtbuf' and `fcvtbuf' is the
interpretation of the second argument (CHARS or DECIMALS). For
`ecvtbuf', the second argument CHARS specifies the total number of
characters to write (which is also the number of significant digits in
the formatted string, since these two functions write only digits). For
`fcvtbuf', the second argument DECIMALS specifies the number of
characters to write after the decimal point; all digits for the integer
part of VAL are always included.
Since `ecvtbuf' and `fcvtbuf' write only digits in the output
string, they record the location of the decimal point in `*DECPT', and
the sign of the number in `*SGN'. After formatting a number, `*DECPT'
contains the number of digits to the left of the decimal point. `*SGN'
contains `0' if the number is positive, and `1' if it is negative. For
both functions, you supply a pointer BUF to an area of memory to hold
the converted string.
Supporting OS subroutines required: `close', `fstat', `isatty',
`lseek', `read', `sbrk', `write'.
will give you access to the complete manual.