Condividi tramite


_ecvt

Converte un numero double in una stringa. È disponibile una versione più sicura di questa funzione; vedere _ecvt_s.

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

Parametri

  • value
    Numeri da convertire.

  • count
    Numero di cifre archiviato.

  • dec
    Posizione archiviata del separatore decimale.

  • sign
    Il segno del numero convertito.

Valore restituito

_ecvt restituisce un puntatore a una stringa di cifre; NULL se si è verificato un errore.

Note

La funzione _ecvt converte un numero a virgola mobile in una stringa di caratteri terminata da null. Il parametro value è il numero a virgola mobile da convertire. Questa funzione memorizza fino a count cifre di value come stringa e aggiunge un carattere null ('\0'). Se il numero di cifre in value supera count, la cifra meno significativa viene arrotondata. Se sono presenti meno di count cifre, la stringa viene completata con degli zeri.

Il numero totale di cifre restituite da _ecvt 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 sign dopo la chiamata. Il parametro dec punta ad un valore Integer che fornisce la posizione del separatore decimale rispetto all'inizio della stringa. Un Integer 0 o negativo indica che il separatore decimale si trova a sinistra della prima cifra. I punti del parametro sign su un intero che indica il segno del numero convertito. Se il valore Integer è 0, il numero è positivo. In caso contrario, il numero è 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 il risultato 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

_ecvt

<stdlib.h>

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

Esempio

// crt_ecvt.c
// compile with: /W3
// This program uses _ecvt to convert a
// floating-point number to a character string.

#include <stdlib.h>
#include <stdio.h>

int main( void )
{
   int     decimal,   sign;
   char    *buffer;
   int     precision = 10;
   double  source = 3.1415926535;

   buffer = _ecvt( source, precision, &decimal, &sign ); // C4996
   // Note: _ecvt is deprecated; consider using _ecvt_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

_fcvt

_gcvt