Udostępnij za pośrednictwem


_gcvt

Konwertuje wartości zmiennoprzecinkowych na ciąg, który przechowuje on w buforze.Bardziej bezpieczna wersja ta funkcja jest dostępna; zobacz _gcvt_s.

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

Parametry

  • value
    Wartości są konwertowane.

  • digits
    Liczba cyfr znaczących przechowywane.

  • buffer
    Lokalizacja przechowywania dla wyniku.

Wartość zwracana

_gcvtZwraca wskaźnik do ciąg cyfr.

Uwagi

_gcvt Funkcja konwertuje zmiennoprzecinkowych value do ciągu znaków (która obejmuje z punktem dziesiętnym i bajt możliwe znak) i przechowuje ciąg w buffer.buffer Powinna być wystarczająco duża, aby pomieścić konwertowaną wartość plus kończącego znaku null, który jest dołączany automatycznie.Jeśli rozmiar buforu digits + 1 jest używany, funkcja zastępuje końca buforu.Jest tak, ponieważ przekonwertowane ciąg zawiera przecinek dziesiętny i może zawierać znak i wykładnika.Brak jest przepisów dla przepełnienie._gcvtpróbuje do produkcji digits cyfr w formacie dziesiętnym.Jeśli nie, wytwarza digits cyfr w formacie wykładniczy.Końcowe zera może być pominięte podczas konwersji.

A buffer o długości _CVTBUFSIZE jest wystarczający dla żadnych przestawnych wartości.

Funkcja ta sprawdza poprawność jego parametry.Jeśli buffer jest NULL, wywoływana jest funkcja obsługi nieprawidłowy parametr, jak opisano w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, ta funkcja ustawia errno do EINVAL i zwraca NULL.

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

_gcvt

<stdlib.h>

Informacji dotyczących zgodności, zobacz zgodności we wprowadzeniu.

Przykład

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

Odpowiednik w programie .NET Framework

System::CONVERT::toString

Zobacz też

Informacje

Konwersja danych

Obsługa liczb zmiennoprzecinkowych

atof, _atof_l, _wtof, _wtof_l

_ecvt

_fcvt