gcvt(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

     The ecvt(), fcvt() and gcvt()  functions  convert  floating-
     point numbers to null-terminated strings.

  ecvt()
     The ecvt() function  converts  value  to  a  null-terminated
     string  of  ndigit  digits  (where  ndigit  is reduced to an
     unspecified limit determined by the precision of  a  double)
     and  returns  a pointer to the string.  The high-order digit
     is non-zero, unless the value is 0.  The low-order digit  is
     rounded.
      The position of the radix character relative to the  begin-
     ning  of  the  string is stored in the integer pointed to by
     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  integer  pointed
     to by sign is non-zero, otherwise it is 0.

     If the converted value is out of range or is not  represent-
     able, the contents of the returned string are unspecified.

  fcvt()
     The fcvt() function is identical to ecvt() except that  ndi-
     git  specifies  the number of digits desired after the radix
     point.  The total number of digits in the result  string  is
     restricted to an unspecified limit as determined by the pre-
     cision of a double.

  gcvt()
     The gcvt() function  converts  value  to  a  null-terminated
     string  (similar  to that of the %g format of printf(3C)) in
     the array pointed to by buf and  returns  buf.  It  produces
     ndigit  significant  digits (limited to an unspecified value
     determined by the precision of a double) in %f if  possible,
     or  %e  (scientific  notation)  otherwise.   A minus sign is
     included in the returned string if value is less than 0.   A
     radix  character is included in the returned string if value
     is not a whole number.  Trailing zeros are suppressed  where
     value  is not a whole number.  The radix character is deter-
     mined by the current locale. If setlocale(3C) has  not  been
     called  successfully,  the  default  locale, POSIX, is used.
     The default locale specifies a period (.) as the radix char-
     acter.   The LC_NUMERIC category determines the value of the
     radix character within the current locale.


RETURN VALUES

     The ecvt() and fcvt() functions return a pointer to a  null-
     terminated string of digits.

     The gcvt() function returns buf.


ERRORS

     No errors are defined.


USAGE

     The return values from ecvt() and fcvt() may point to static
     data  which  may be overwritten by subsequent calls to these
     functions.

     For portability to  implementations  conforming  to  earlier
     versions  of  this  document,  sprintf(3C) is preferred over
     this function.


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | MT-Level                    | Unsafe                      |
    |_____________________________|_____________________________|


SEE ALSO

     printf(3C), setlocale(3C), sprintf(3C), attributes(5)


Man(1) output converted with man2html