|[ < ]||[ > ]||[ << ]||[ Up ]||[ >> ]||[Top]||[Contents]||[Index]||[ ? ]|
#include <stdlib.h> char * ecvtbuf (double value, int ndigits, int *decpt, int *sign, char *buf)
This function converts its argument value into a null-terminated
string of ndigits digits in buf. buf should have
enough space to hold at least
ndigits + 1 characters.
The produced string in buf does not include the decimal point. Instead, the position of the decimal point relative to the beginning of buf is stored in an integer variable whose address is passed in decpt. Thus, if buf is returned as "1234" and *decpt as 1, this corresponds to a value of 1.234; if *decpt is -1, this corresponds to a value of 0.01234, etc.
The sign is also not included in buf's value. If value is
ecvtbuf puts a nonzero value into the variable whose
address is passed in sign; otherwise it stores zero in
The least-significant digit in buf is rounded.
ecvtbuf produces the string "NaN" if value is a NaN, and
"Inf" or "Infinity" if value is an infinity (the longer form
is produced when ndigits is 8 or more).
A pointer to buf.
#include <stdlib.h> #include <stdio.h> #include <math.h> char vbuf; int esign, edecpt; ecvtbuf (M_PI, 5, &edecpt, &esign, buf) /* This will print " 31416". */ printf ("%c%s", esign ? '-' : ' ', buf);
|webmaster donations bookstore||delorie software privacy|
|Copyright © 2004 by DJ Delorie||Updated Apr 2004|