Export (0) Print
Expand All
div
Expand Minimize
This topic has not yet been rated - Rate this topic

_fcvt

Converts a floating-point number to a string.

char *_fcvt( 
   double value,
   int count,
   int *dec,
   int *sign 
);

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.

Return Value

_fcvt returns a pointer to the string of digits. There is no error return.

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.

Requirements

Function Required header Compatibility
_fcvt <stdlib.h> Win 98, Win Me, Win NT, Win 2000, Win XP

For additional compatibility information, see Compatibility in the Introduction.

Libraries

All versions of the C run-time libraries.

Example

// crt_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>

int 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

See Also

Data Conversion Routines | Floating-Point Support Routines | atof | _ecvt | _gcvt | Run-Time Routines and .NET Framework Equivalents

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.