_fcvt

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Convierte a un número de punto flotante en una cadena. Una versión más segura de esta función está disponible; see _fcvt_s.

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

Parámetros

value
Número que se va a convertir.

count
Número de dígitos después del separador decimal.

dec
Puntero a la posición del punto decimal almacenada.

sign
Puntero para el indicador de inicio de sesión almacenados.

_fcvtDevuelve un puntero a la cadena de dígitos, NULL en caso de error.

El _fcvt función convierte un número de punto flotante en una cadena de caracteres terminada en null. El value parámetro es el número de punto flotante que se va a convertir. _fcvtalmacena los dígitos de value como una cadena y anexa un carácter nulo ('\0'). El count parámetro especifica el número de dígitos que se almacenará después del punto decimal. Dígitos sobrantes se redondean a count coloca. Si hay menos de count dígitos de precisión, la cadena se rellena con ceros.

El número total de dígitos devuelto por _fcvt no excederá _CVTBUFSIZE.

Solo los dígitos se almacenan en la cadena. La posición de decimales y el signo de value puede obtenerse dec e inicie sesión después de la llamada. El dec parámetro señala a un valor entero; este valor de entero proporciona la posición del separador decimal con respecto al principio de la cadena. Un cero o valor entero negativo indica que el separador decimal se encuentra a la izquierda del primer dígito. El parámetro sign apunta a un entero que indica el signo de value. El entero se establece en 0 si value es positivo y se establece en un número distinto de cero si value es negativo.

La diferencia entre _ecvt y _fcvt en la interpretación de la count parámetro. _ecvtinterpreta count como el número total de dígitos en la cadena de salida, mientras que _fcvt interpreta count como el número de dígitos después del separador decimal.

_ecvty _fcvt utilizan un único búfer asignado estáticamente para la conversión. Cada llamada a una de estas rutinas destruye los resultados de la llamada anterior.

Esta función valida sus parámetros. Si dec o sign es NULL, o count es 0, se invoca el controlador de parámetros no válidos, como se describe en validación del parámetro. Si la ejecución puede continuar, errno está establecido en EINVAL y se devuelve NULL.

FunciónEncabezado necesario
_fcvt<stdlib.h>

Para obtener más información sobre compatibilidad, vea Compatibility en la introducción.

// crt_fcvt.c  
// compile with: /W3  
// 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 ); // C4996  
   // Note: _fcvt is deprecated; consider using _fcvt_s instead  
   printf( "source: %2.10f   buffer: '%s'   decimal: %d   sign: %d\n",  
            source, buffer, decimal, sign );  
}  

source: 3.1415926535   buffer: '31415927'   decimal: 1   sign: 0  

System::Convert::ToString

Conversión de datos
Compatibilidad de punto flotante
atof, _atof_l, _wtof, _wtof_l
_ecvt
_gcvt

Mostrar: