NAME
ecvt, fcvt - convert a floating-point number to a string
SYNOPSIS
#include <stdlib.h>
I char *ecvt(double number , int ndigits , int * decpt ,
I int * sign );
I char *fcvt(double number , int ndigits , int * decpt ,
I int * sign );
DESCRIPTION
The
R ecvt ()
function converts number to a null-terminated
string of ndigits digits (where ndigits is reduced to an
system-specific limit determined by the precision of a double),
and returns a pointer to the string.
The high-order digit is non-zero, unless
number
is zero.
The low order digit is rounded.
The string itself does not contain a decimal point; however,
the position of the decimal point relative to the start of the string
is stored in *decpt.
A negative value for *decpt means that
the decimal point is to the left of the start of the string.
If the sign of
number is negative, *sign is set to a non-zero value,
otherwise it is set to 0.
If
number
is zero, it is unspecified whether *decpt is 0 or 1.
The
R fcvt ()
function is identical to
R ecvt (),
except that
ndigits specifies the number of digits after the decimal point.
RETURN VALUE
Both the
R ecvt ()
and
R fcvt ()
functions return a pointer to a
static string containing the ASCII representation of number.
The static string is overwritten by each call to
R ecvt ()
or
R fcvt ().
CONFORMING TO
SVr2;
marked as LEGACY in POSIX.1-2001.
NOTES
These functions are obsolete.
Instead,
sprintf(3)
is recommended.
Linux libc4 and libc5 specified the type of
ndigits
as
R size_t .
Not all locales use a point as the radix character (`decimal point').
SEE ALSO