_fcvt
Konwertuje liczbę zmiennoprzecinkowych na ciąg.Bardziej bezpieczna wersja ta funkcja jest dostępna; see _fcvt_s.
char *_fcvt(
double value,
int count,
int *dec,
int *sign
);
Parametry
value
Liczby są konwertowane.count
Liczba cyfr po przecinku.dec
Wskaźnik do przechowywanych położenie przecinka dziesiętnego.sign
Wskaźnik do wskaźnika przechowywane znak.
Wartość zwracana
_fcvtZwraca wskaźnik do ciąg cyfr, NULL, w przypadku błędu.
Uwagi
_fcvt Funkcja konwertuje liczbę zmiennoprzecinkową ciągu zakończonego znakiem null.value Parametru jest liczba zmiennoprzecinkowa do konwersji._fcvtprzechowuje cyfr z value jako ciąg znaków i dołącza znak null (\0).count Parametr określa liczbę cyfr, które mają być przechowywane po separatorze dziesiętnym.Nadmiar cyfry są zaokrąglane do count miejsca.Jeżeli jest mniej niż count dokładnością, ciąg cyfr jest uzupełniony zerami.
Całkowita liczba cyfr zwrócony przez _fcvt 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 znak po wywołaniu.dec Parametru wskazuje wartość całkowitą; Ta wartość całkowitą podaje położenie przecinka dziesiętnego, w odniesieniu do początku ciągu znaków.Zero lub wartość ujemną liczbą całkowitą wskazuje, że leży przecinka dziesiętnego po lewej stronie pierwszej cyfry.Parametr sign wskazuje całkowitą wskazującą znak value.Liczba całkowita jest równa 0, jeśli value jest pozytywny i jest ustawiona na różną od zera jeśli liczba value jest liczbą ujemną.
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 wyniki poprzedniego wywołania.
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 |
---|---|
_fcvt |
<stdlib.h> |
Informacji dotyczących zgodności, zobacz zgodności we wprowadzeniu.
Przykład
// crt_fcvt.c
// compile with: /W3
// This program converts the constant
// 3.1415926535 to a string and sets the pointer
// buffer to point to that string.
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
int decimal, sign;
char *buffer;
double source = 3.1415926535;
buffer = _fcvt( source, 7, &decimal, &sign ); // C4996
// Note: _fcvt is deprecated; consider using _fcvt_s instead
printf( "source: %2.10f buffer: '%s' decimal: %d sign: %d\n",
source, buffer, decimal, sign );
}