ecvt(3C)
NAME
ecvt(), fcvt,() gcvt,() nl_gcvt() − convert floating-point number to string
SYNOPSIS
char *ecvt(double value, size_t ndigit, int *decpt, int *sign);
char *fcvt(double value, size_t ndigit, int *decpt, int *sign);
char *gcvt(double value, size_t ndigit, char *buf);
char *nl_gcvt(double value, size_t ndigit, char *buf, int langid);
DESCRIPTION
ecvt() Converts value to a null-terminated string of ndigit digits and returns a pointer to the string. The high-order digit is non-zero, unless the value is zero. The low-order digit is rounded. The position of the radix character relative to the beginning of the string is stored indirectly through decpt (negative means to the left of the returned digits). The radix character 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.
One of three non-digit characters strings could be returned if the converted value is out of range. A -- or ++ is returned if the value is larger than the exponent can contain, and is negative, or positive, respectively. The third string is returned if the number is illegal, a zero divide for example. The result value is Not A Number (NAN) and would return a ? character.
fcvt() Identical to ecvt(), except that the correct digit has been rounded for printf %f (FORTRAN F-format) 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 produces ndigit significant digits in FORTRAN F-format if possible, or E-format otherwise. A minus sign, if required, and a radix character is included in the returned string. Trailing zeros are suppressed. The radix character is determined by the currently loaded NLS environment (see setlocale(3C)). If setlocale() has not been called successfully, the default NLS environment, "C", is used (see lang(5)). The default environment specifies a period (.) as the radix character.
nl_gcvt() differs from gcvt() only by first calling langinit() (see nl_init(3C)) to load the NLS environment according to the language specified by langid.
EXTERNAL INFLUENCES
Locale
The LC_NUMERIC category determines the value of the radix character within the current NLS environment.
WARNINGS
The values returned by ecvt() and fcvt() point to a single static data array whose content is overwritten by each call.
nl_gcvt() is provided for historical reasons only; its use is not recommended.
AUTHOR
ecvt() and fcvt() were developed by AT&T. gcvt() was developed by AT&T and HP. nl_gcvt() was developed by HP.
SEE ALSO
setlocale(3C), printf(3S), hpnls(5), lang(5).
STANDARDS CONFORMANCE
ecvt(): XPG2
fcvt(): XPG2
gcvt(): XPG2
Hewlett-Packard Company — HP-UX Release 9.10: April 1995