The 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 nonzero, 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's set to 0. If number is zero, it is unspecified whether *
decpt is 0 or 1.
The fcvt() function is identical to ecvt(), except that
ndigits specifies the number of digits after the decimal point.