ecvt

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

ecvt_r(3), gcvt(3), qecvt(3), setlocale(3), sprintf(3)