ECVT(3C)
NAME
ecvt, fcvt, gcvt, nl_gcvt − convert floating-point number to string
SYNOPSIS
char ∗ecvt (value, ndigit, decpt, sign)
double value;
int ndigit, ∗decpt, ∗sign;
char ∗fcvt (value, ndigit, decpt, sign)
double value;
int ndigit, ∗decpt, ∗sign;
char ∗gcvt (value, ndigit, buf)
double value;
int ndigit;
char ∗buf;
char ∗nl_gcvt (value, ndigit, buf, langid)
double value;
int 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 is 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 will be 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.
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.
EXTERNAL INFLUENCES
Locale
The LC_NUMERIC category determines the value of the radix character within the current NLS environment.
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 7.0: Sept 1989