Udostępnij za pośrednictwem


_ecvt

Konwertuje double numer na ciąg.Bardziej bezpieczna wersja ta funkcja jest dostępna; see _ecvt_s.

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

Parametry

  • value
    Liczby są konwertowane.

  • count
    Liczba cyfr przechowywane.

  • dec
    Przechowywane położenie przecinka dziesiętnego.

  • sign
    Znak liczby przekonwertowane.

Wartość zwracana

_ecvtZwraca wskaźnik do ciąg cyfr; Wartość NULL, jeśli wystąpił błąd.

Uwagi

_ecvt Funkcja konwertuje liczbę zmiennoprzecinkową na ciąg znaków.value Parametru jest liczba zmiennoprzecinkowa do konwersji.Funkcja ta przechowuje się do count cyfry value jako ciąg znaków i dołącza znak null (\0).Jeśli liczba cyfr w value przekracza count, siódmy cyfra jest zaokrąglana.Jeżeli jest mniej niż count ciąg cyfr jest uzupełniony zerami.

Całkowita liczba cyfr zwrócony przez _ecvt nie przekroczy _CVTBUFSIZE.

Tylko cyfry są przechowywane w ciągu.Położenie przecinka dziesiętnego i znak value , można otrzymać od dec i sign po wywołaniu.dec Parametru wskazuje wartość całkowitą, podając położenie przecinka dziesiętnego, w odniesieniu do początku ciągu znaków.Wartość 0 lub ujemna liczba całkowita wskazuje, że leży przecinka dziesiętnego po lewej stronie pierwszej cyfry.sign Parametru wskazuje całkowitą, która wskazuje na znak liczby przekonwertowane.Jeśli wartość całkowitą 0, liczba jest dodatnia.W przeciwnym razie liczba jest ujemna.

Różnica między _ecvt i _fcvt jest w interpretacji count parametru._ecvtinterpretuje count jako całkowita liczba cyfr w ciągu danych wyjściowych, dlatego _fcvt interpretuje count jako liczba cyfr po przecinku.

_ecvti _fcvt użyć pojedynczego statycznie przydzielonego buforu do konwersji.Każde wywołanie do jednej z tych procedur niszczy wynik poprzednie wywołanie.

Funkcja ta sprawdza poprawność jego parametry.Jeśli dec lub sign ma wartość NULL, lub count jest równa 0, wywoływana jest funkcja obsługi nieprawidłowy parametr, jak opisano w Sprawdzanie poprawności parametru.Jeśli wykonanie jest dozwolone, aby kontynuować, errno jest ustawiona na EINVAL i zwracana jest wartość NULL.

Wymagania

Funkcja

Wymaganego nagłówka

_ecvt

<stdlib.h>

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

Przykład

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

Odpowiednik w programie .NET Framework

System::CONVERT::toString

Zobacz też

Informacje

Konwersja danych

Obsługa liczb zmiennoprzecinkowych

atof, _atof_l, _wtof, _wtof_l

_fcvt

_gcvt