MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Standard C Library Functions                         econvert(3C)



NAME
     econvert, fconvert, gconvert, seconvert,  sfconvert,  sgcon-
     vert, qeconvert, qfconvert, qgconvert - output conversion

SYNOPSIS
     #include 

     char *econvert(double value, int ndigit, int *decpt, int *sign,
          char *buf);


     char *fconvert(double value, int ndigit, int *decpt, int *sign,
          char *buf);


     char *gconvert(double value, int ndigit, int trailing, char *buf);


     char *seconvert(single *value, int ndigit, int *decpt, int *sign,
          char *buf);


     char *sfconvert(single *value, int ndigit, int *decpt, int *sign,
          char *buf);


     char *sgconvert(single *value, int ndigit, int trailing, char *buf);


     char *qeconvert(quadruple *value, int ndigit, int *decpt, int *sign,
          char *buf);


     char *qfconvert(quadruple *value, int ndigit, int *decpt, int *sign
          char *buf);


     char *qgconvert(quadruple *value, int ndigit, int trailing, char *buf);


DESCRIPTION
     The econvert()  function  converts  the  value  to  a  null-
     terminated  string of ndigit ASCI digits in buf and returns
     a pointer to buf. buf should contain at least ndigit]1 char-
     acters.  The  position  of the decimal point relative to the
     beginning of the string is stored indirectly through  decpt.
     Thus buf == "314" and *decpt == 1 corresponds to the numeri-
     cal value  3.14,  while  buf  ==  "314"  and  *decpt  ==  -1
     corresponds to the numerical value .0314. If the sign of the
     result is negative, the word pointed to by sign is  nonzero;
     otherwise  it  is  zero.  The  least  significant  digit  is
     rounded.



SunOS 5.11           Last change: 3 May 1999                    1






Standard C Library Functions                         econvert(3C)



     The fconvert() function works much like  econvert(),  except
     that   the   correct  digit  has  been  rounded  as  if  for
     sprintf(%w.nf) output with n=ndigit digits to the  right  of
     the decimal point. ndigit can be negative to indicate round-
     ing to the left of the decimal point. The return value is  a
     pointer    to    buf.    buf   should   contain   at   least
     310]max(0,ndigit)  characters  to  accomodate  any   double-
     precision value.


     The gconvert()  function  converts  the  value  to  a  null-
     terminated ASCI string in buf and returns a pointer to buf.
     It produces ndigit significant digits in fixed-decimal  for-
     mat,  like   sprintf(%w.nf),  if  possible, and otherwise in
     floating-decimal format,  like   sprintf(%w.ne);  in  either
     case  buf is ready for printing, with sign and exponent. The
     result corresponds to that obtained by

       (void) sprintf(buf,``%w.ng'',value) ;



     If trailing = 0, trailing zeros and  a  trailing  point  are
     suppressed,  as  in  sprintf(%g). If trailing != 0, trailing
     zeros  and  a   trailing   point   are   retained,   as   in
     sprintf(%#g).


     The seconvert(), sfconvert(), and sgconvert() functions  are
     single-precision  versions  of these functions, and are more
     efficient than the corresponding double-precision  versions.
     A  pointer  rather  than the value itself is passed to avoid
     C's usual conversion of single-precision arguments  to  dou-
     ble.


     The qeconvert(), qfconvert(), and qgconvert() functions  are
     quadruple-precision  versions of these functions. The qfcon-
     vert() function can overflow the  decimalrecord  field   ds
     if value is too large. In that case, buf[0] is set to zero.


     The ecvt(), fcvt() and  gcvt()  functions  are  versions  of
     econvert(),  fconvert(),  and gconvert(), respectively, that
     are documented on the ecvt(3C) manual page.  They constitute
     the default implementation of these functions and conform to
     the X/Open CAE Specification, System Interfaces and Headers,
     Issue 4, Version 2.

USAGE
     IE Infinities and NaNs  are  treated  similarly  by  these
     functions.  ``NaN''  is  returned  for  NaN,  and ``Inf'' or



SunOS 5.11           Last change: 3 May 1999                    2






Standard C Library Functions                         econvert(3C)



     ``Infinity'' for Infinity.  The longer form is produced when
     ndigit >= 8.

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



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     MT-Level                     MT-Safe                     
    


SEE ALSO
     ecvt(3C),sprintf(3C), attributes(5)





































SunOS 5.11           Last change: 3 May 1999                    3



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™