Condividi tramite


_gcvt

Converte un valore a virgola mobile in una stringa, che sono memorizzate in un buffer.Una versione più sicura di questa funzione è disponibile; vedere _gcvt_s.

char *_gcvt( 
   double value,
   int digits,
   char *buffer 
);

Parametri

  • value
    Valore da convertire.

  • digits
    Numero di cifre significative archiviate.

  • buffer
    percorso di archiviazione per il risultato.

Valore restituito

_gcvt restituisce un puntatore alla stringa di cifre.

Note

_gcvt la funzione consente di convertire un a virgola mobile value in una stringa di caratteri (che include un separatore decimale e un byte possibile di segno) e archiviare la stringa in buffer.buffer deve essere sufficienti per contenere il valore convertito in un carattere di terminazione null, che viene aggiunto automaticamente.Se le dimensioni del buffer di digits + 1 viene utilizzato, la funzione sostituisce la fine del buffer.Questo perché la stringa convertita include un separatore decimale e può contenere le informazioni pubblica e di segno.Non esiste alcuna misura dell'overflow._gcvt tentativi di produrre digits cifre in formato decimale.Se non è, produce digits cifre nel formato esponenziale.Gli zeri finali possono essere eliminati nella conversione.

In buffer la lunghezza _CVTBUFSIZE è sufficiente per qualsiasi valore in virgola mobile.

Questa funzione convalida dei parametri.se buffer viene NULL, il gestore non valido di parametro viene richiamato, come descritto in Convalida dei parametri.Se l'esecuzione è consentita per continuare, set di questa funzione errno in EINVAL e restituisce NULL.

Requisiti

routine

Intestazione di associazione

_gcvt

<definito>

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

Esempio

// crt_gcvt.c
// compile with: /W3
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int main( void )
{
   char buffer[_CVTBUFSIZE];
   double value = -1234567890.123;
   printf( "The following numbers were converted by _gcvt(value,12,buffer):\n" );
   _gcvt( value, 12, buffer ); // C4996
   // Note: _gcvt is deprecated; consider using _gcvt_s instead
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );
   value *= 10;
   _gcvt( value, 12, buffer ); // C4996
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );
   value *= 10;
   _gcvt( value, 12, buffer ); // C4996
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );
   value *= 10;
   _gcvt( value, 12, buffer ); // C4996
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );

   printf( "\n" );
   value = -12.34567890123;
   _gcvt( value, 12, buffer ); // C4996
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );
   value /= 10;
   _gcvt( value, 12, buffer ); // C4996
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );
   value /= 10;
   _gcvt( value, 12, buffer ); // C4996
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );
   value /= 10;
   _gcvt( value, 12, buffer ); // C4996
   printf( "buffer: '%s' (%d chars)\n", buffer, strlen(buffer) );
}
  

Equivalente .NET Framework

System:: Conversione:: ToString

Vedere anche

Riferimenti

Conversione di dati

Supporto per le operazioni in virgola mobile

atof, _atof_l, _wtof, _wtof_l

_ecvt

_fcvt