Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
ecvt(3C)		 Standard C Library Functions		      ecvt(3C)

       ecvt, fcvt, gcvt	- convert floating-point number	to string

       #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);

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

       The ecvt() function converts  value  to	a  null-terminated  string  of
       ndigit  digits  (where ndigit is	reduced	to an unspecified limit	deter-
       mined 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 beginning  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 in-
       teger pointed to	by sign	is non-zero, otherwise it is 0.

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

       The fcvt() function is identical	to ecvt() except that ndigit 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 precision of a	double.

       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  in-
       cluded in the returned string if	value is less than 0.  A radix charac-
       ter 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 determined 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 character.   The
       LC_NUMERIC  category determines the value of the	radix character	within
       the current locale.

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

       The gcvt() function returns buf.

       No errors are defined.

       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.

       See attributes(5) for descriptions of the following attributes:

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

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

SunOS 5.9			  29 Dec 1996			      ecvt(3C)


Want to link to this manual page? Use this URL:

home | help