用fcvt
_fcvt
Converts a floating-point number to a string.
char *_fcvt( double value, int count, int *dec, int *sign );
Function Required Header Compatibility
_fcvt <stdlib.h> Win 95, Win NT
For additional compatibility information, see Compatibility in the Introduction.
Libraries
LIBC.LIB Single thread static library, retail version
LIBCMT.LIB Multithread static library, retail version
MSVCRT.LIB Import library for MSVCRT.DLL, retail version
Return Value
_fcvt returns a pointer to the string of digits. There is no error return.
Parameters
value
Number to be converted
count
Number of digits after decimal point
dec
Pointer to stored decimal-point position
sign
Pointer to stored sign indicator
Remarks
The _fcvt function converts a floating-point number to a
null-terminated character string. The value parameter is the
floating-point number to be converted. _fcvt stores the digits of value
as a string and appends a null character ('\0'). The count parameter
specifies the number of digits to be stored after the decimal point.
Excess digits are rounded off to count places. If there are fewer than
count digits of precision, the string is padded with zeros.
Only digits are stored in the string. The position of the decimal point
and the sign of value can be obtained from dec and sign after the call.
The dec parameter points to an integer value; this integer value gives
the position of the decimal point with respect to the beginning of the
string. A zero or negative integer value indicates that the decimal
point lies to the left of the first digit. The parameter sign points to
an integer indicating the sign of value. The integer is set to 0 if
value is positive and is set to a nonzero number if value is negative.
_ecvt and _fcvt use a single statically allocated buffer for the
conversion. Each call to one of these routines destroys the results of
the previous call.
Example
/* FCVT.C: This program converts the constant
* 3.1415926535 to a string and sets the pointer
* *buffer to point to that string.
*/
#include <stdlib.h>
#include <stdio.h>
void main( void )
{
int decimal, sign;
char *buffer;
double source = 3.1415926535;
buffer = _fcvt( source, 7, &decimal, &sign );
printf( "source: %2.10f buffer: '%s' decimal: %d sign: %d\n",
source, buffer, decimal, sign );
}
Output
source: 3.1415926535 buffer: '31415927' decimal: 1 sign: 0
[此贴子已经被作者于2005-12-31 0:28:38编辑过]