# libc.info: ecvt

**Go forward to __env_lock**

**Go backward to ecvtbuf**

**Go up to Stdlib**

**Go to the top op libc**

# `ecvt',`ecvtf',`fcvt',`fcvtf'--double or float to string

*Synopsis*
#include <stdlib.h>

char *ecvt(double VAL, int CHARS, int *DECPT, int *SGN);
char *ecvtf(float VAL, int CHARS, int *DECPT, int *SGN);

char *fcvt(double VAL, int DECIMALS,
int *DECPT, int *SGN);
char *fcvtf(float VAL, int DECIMALS,
int *DECPT, int *SGN);
*Description*
`ecvt' and `fcvt' produce (null-terminated) strings of digits
representating the `double' number VAL. `ecvtf' and `fcvtf' produce
the corresponding character representations of `float' numbers.

(The `stdlib' functions `ecvtbuf' and `fcvtbuf' are reentrant
versions of `ecvt' and `fcvt'.)

The only difference between `ecvt' and `fcvt' is the interpretation
of the second argument (CHARS or DECIMALS). For `ecvt', 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 `fcvt', 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 `ecvt' and `fcvt' 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.

*Returns*
All four functions return a pointer to the new string containing a
character representation of VAL.

*Portability*
None of these functions are ANSI C.

Supporting OS subroutines required: `close', `fstat', `isatty',
`lseek', `read', `sbrk', `write'.

Created Mon Nov 8 17:42:52 2004 on tillpc with info_to_html version 0.9.6.