Condividi tramite


_fcvt

Converte un numero a virgola mobile in una stringa. È disponibile una versione più sicura di questa funzione; vedere _fcvt_s.

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

Parametri

  • value
    Numeri da convertire.

  • count
    Numero di cifre dopo il separatore decimale.

  • dec
    Puntatore alla posizione del separatore decimale archiviata.

  • sign
    Puntatore all'indicatore di segno archiviato.

Valore restituito

_fcvt restituisce un puntatore a una stringa di cifre, NULL in caso di errore.

Note

La funzione di _fcvt converte un numero a virgola mobile in una stringa di caratteri terminata da null. Il parametro value è il numero a virgola mobile da convertire. _fcvt archivia le cifre di value come stringa e aggiunge un carattere null ("\0"). Il parametro count specifica il numero di cifre da archiviare dopo il separatore decimale. Le cifre in eccesso vengono arrotondati alle posizioni di count. Se sono presenti meno di count cifre di precisione, la stringa viene completata con degli zeri.

Il numero totale di cifre restituite da _fcvt non supererà _CVTBUFSIZE.

Solo le cifre vengono archiviate nella stringa. La posizione del separatore decimale e il segno di value possono essere ottenuti da dec e il segno dopo la chiamata. Il parametro dec punta ad un valore Integer; questo valore Integer fornisce la posizione del separatore decimale rispetto all'inizio della stringa. Un valore Integer zero o negativo indica che il separatore decimale si trova a sinistra della prima cifra. Il parametro sign punta ad un intero che indica il segno di value. L'intero è impostato a 0 se value è positivo e ad un numero diverso da zero se value è negativo.

La differenza tra _ecvt e _fcvt risiede nell'interpretazione del parametro count. _ecvt interpreta count come il numero totale di cifre contenute nella stringa di output, mentre _fcvt interpreta count come il numero di cifre dopo il separatore decimale.

_ecvt e _fcvt utilizzano un solo buffer allocato in modo statico per la conversione. Ogni chiamata a una di queste routine distrugge i risultati della chiamata precedente.

Questa funzione convalida i parametri. Se dec o sign sono null, o count è 0, viene invocato il gestore di parametro non valido, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, errno è impostato su EINVAL e viene restituito NULL.

Requisiti

Funzione

Intestazione obbligatoria

_fcvt

<stdlib.h>

Per ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'introduzione.

Esempio

// 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 );
}
  

Equivalente .NET Framework

System::Convert::ToString

Vedere anche

Riferimenti

Conversione dei dati

Supporto a virgola mobile

atof, _atof_l, _wtof, _wtof_l

_ecvt

_gcvt