ecvt(3)
Name
ecvt, fcvt, gcvt − output conversion
Syntax
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;
char *buf;
Description
The ecvt routine converts the value to a null-terminated string of ndigit ASCII digits and returns a pointer thereto. 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). If the sign of the result is negative, the word pointed to by sign is non-zero, otherwise it is zero. The low-order digit is rounded.
The fcvt routine is identical to ecvt, except that the correct digit has been rounded for FORTRAN F-format output of the number of digits specified by ndigits.
The gcvt routine converts the value to a null-terminated ASCII string in buf and returns a pointer to buf. It attempts to produce ndigit significant digits in FORTRAN F format if possible, otherwise E format is used, ready for printing. Trailing zeros may be suppressed.
The symbol used to represent a radix character is obtained from the last successful call to setlocale category LC_NUMERIC. The symbol can be determined by calling:
nl_langinfo (RADIXCHAR);
If setlocale category LC_NUMERIC has not been called successfully, or if the radix character is not defined for a supported language, the radix character defaults to a period (.).
International Environment
LC_NUMERICIf this environment is set and valid, ecvt uses the international language database named in the definition to determine radix character rules.
LANGIf this environment is set and valid, ecvt uses the international language database named in the definition to determine radix character rules. If LC_NUMERIC is defined, its definition supercedes the definition of LANG.
Restrictions
The return values point to static data whose content is overwritten by each call.
See Also
setlocale(3), nl_langinfo(3int), printf(3int), printf(3s)
Guide to Developing International Software