[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    ecvt(3C) manual page Table of Contents

Name

ecvt, fcvt, gcvt - convert floating-point number to string

Synopsis

#include <stdlib.h>

char *ecvt(double value, int ndigit, int *decpt, int *sign);

char *fcvt(double value, int ndigit, int *decpt, int *sign);

char *gcvt(double value, int ndigit, char *buf);

MT-Level

Unsafe

Description

ecvt() converts value to a null-terminated string of ndigit digits and returns a pointer thereto. The high-order digit is non-zero, unless the value is zero. The low-order digit is rounded. The position of the decimal point relative to the beginning of the string is stored indirectly through decpt (negative means to the left of the returned digits). The decimal point is not included in the returned string. If the sign of the result is negative, the word pointed to by sign is non-zero, otherwise it is zero.

fcvt() is identical to ecvt(), except that the correct digit has been rounded for printf %f output of the number of digits specified by ndigit.

gcvt() converts the value to a null-terminated string in the array pointed to by buf and returns buf. It attempts to produce ndigit significant digits in %f format if possible, otherwise %e format (scientific notation), ready for printing. A minus sign, if there is one, or a decimal point will be included as part of the returned string. Trailing zeros are suppressed.

See Also

printf(3S)

Notes

The values returned by ecvt() and fcvt() point to a single static data array whose content is overwritten by each call.


Table of Contents