Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ gcvt(3C) — DG/UX R4.11

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

reentrant(3)

printf(3S)



ecvt(3C)                          SDK R4.11                         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)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026