*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> ecvt (3)              
Title
Content
Arch
Section
 

ECVT(3)

Contents


NAME    [Toc]    [Back]

     ecvt, fcvt, gcvt - convert double to ASCII string

SYNOPSIS    [Toc]    [Back]

     #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    [Toc]    [Back]

     These functions are provided for compatibility  with  legacy
code.  New
     code should use the snprintf(3) function for improved safety
and porta-
     bility.

     The ecvt(), fcvt() and gcvt() functions convert  the  double
precision
     floating-point   number  value  to  a  NUL-terminated  ASCII
string.

     The ecvt()  function  converts  value  to  a  NUL-terminated
string of exactly
     ndigit digits and returns a pointer to that string.  The result is padded
     with zeroes from left to right  as  needed.   There  are  no
leading zeroes
     unless  value  itself  is 0.  The least significant digit is
rounded in an
     implementation-dependent manner.  The position of the  decimal point relative
  to  the beginning of the string is stored in decpt.  A
negative value
     indicates that the decimal point is located to the  left  of
the returned
     digits  (this occurs when there is no whole number component
to value).
     If value is zero, it  is  unspecified  whether  the  integer
pointed to by
     decpt  will  be 0 or 1.  The decimal point itself 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 representable, the contents
 of the returned string are unspecified.

     The fcvt() function is identical to ecvt() with  the  exception that ndigit
     specifies  the number of digits after the decimal point (zero-padded as
     needed).

     The gcvt()  function  converts  value  to  a  NUL-terminated
string similar to
     the  %g  printf(3) format specifier and stores the result in
buf.  It produces
 ndigit significant digits similar to the %f  printf(3)
format specifier
 where possible.  If ndigit does allow sufficient precision, the result
 is stored in exponential notation  similar  to  the  %e
printf(3) format
     specifier.  If value is less than zero, buf will be prefixed
with a minus
     sign.  A decimal point is included in the returned string if
value is not
     a whole number.  Unlike the ecvt() and fcvt() functions, buf
is not zeropadded.

RETURN VALUES    [Toc]    [Back]

     The ecvt(), fcvt() and gcvt() functions return a  NUL-terminated string
     representation of value.

WARNINGS    [Toc]    [Back]

     The ecvt() and fcvt() functions return a pointer to internal
storage
     space that will be overwritten by subsequent calls to either
function.

     The maximum possible precision of the return value is limited by the precision
 of a double and may not be the same on all  architectures.

     The  snprintf(3)  function is preferred over these functions
for new code.

SEE ALSO    [Toc]    [Back]

      
      
     printf(3), strtod(3)

STANDARDS    [Toc]    [Back]

     The ecvt(), fcvt() and gcvt() functions conform to IEEE  Std
1003.1-2001
     (``POSIX'').

OpenBSD      3.6                         December     1,     2002
[ Back ]
 Similar pages
Name OS Title
atof NetBSD convert ASCII string to double
strtod OpenBSD convert ASCII string to double
atof OpenBSD convert ASCII string to double
strtod NetBSD convert ASCII string to double
atof FreeBSD convert ASCII string to double
wcstold FreeBSD convert string to float, double or long double
wcstof FreeBSD convert string to float, double or long double
wcstod FreeBSD convert string to float, double or long double
atof Linux convert a string to a double.
getint IRIX convert from string to integer, double, or boolean
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service