ecvt(3C) DG/UX R4.11MU05 ecvt(3C)
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);
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. So, where ecvt(12.3456, 3, decpt, sign) returns a pointer to
character string 123\0, fcvt(12.3456, 3, decpt, sign) returns a
pointer to character string 123456\0.
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.
Considerations for Threads Programming
+---------+-----------------------------+
| | async- |
|function | reentrant cancel cancel |
| | point safe |
+---------+-----------------------------+
|ecvt | N - - |
|fcvt | N - - |
|gcvt | Y Y N |
+---------+-----------------------------+
When writing threaded applications, the use of the sprintf function
is encouraged over the use of the non-reentrant ecvt and fcvt
functions.
SEE ALSO
reentrant(3), printf(3S).
NOTES
The values returned by ecvt and fcvt point to a single static data
array whose content is overwritten by each call.
Licensed material--property of copyright holder(s)