_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