Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Převede číslo s plovoucí desetinnou čárkou na řetězec. K dispozici je bezpečnější verze této funkce; viz ._fcvt_s
Syntaxe
char *_fcvt(
double value,
int count,
int *dec,
int *sign
);
Parametry
value
Číslo, které se má převést.
count
Počet číslic za desetinnou čárkou
dec
Ukazatel na uloženou pozici desetinné čárky.
sign
Ukazatel na indikátor uloženého znaménka.
Vrácená hodnota
_fcvt vrátí ukazatel na řetězec číslic NULL při chybě.
Poznámky
Funkce _fcvt převede číslo s plovoucí desetinnou čárkou na řetězec znaků s ukončenou hodnotou null. Parametr value je číslo s plovoucí desetinou čárkou, které se má převést. _fcvt uloží číslice value jako řetězec a připojí znak null (\0). Parametr count určuje počet číslic, které se mají uložit za desetinnou čárkou. Nadbytečné číslice jsou zaokrouhleny na count místa. Pokud je přesnost menší než count číslice, řetězec je vycpaný nulami.
Celkový počet číslic vrácených znakem _fcvt nesmí překročit _CVTBUFSIZE.
V řetězci jsou uloženy pouze číslice. Pozice desetinné čárky a znaménka value lze získat od dec a podepsat po volání. Parametr dec odkazuje na celočíselnou hodnotu; tato celočíselná hodnota dává pozici desetinné čárky vzhledem k začátku řetězce. Nulová nebo záporná celočíselná hodnota označuje, že desetinná čárka leží vlevo od první číslice. sign Parametr odkazuje na celé číslo označující znaménko value. Celé číslo je nastaveno na hodnotu 0, pokud value je kladné a je nastaveno na nenulové číslo, pokud value je záporné.
Rozdíl mezi _ecvt parametrem a _fcvt je v interpretaci parametru count . _ecvt interpretuje count jako celkový počet číslic ve výstupním řetězci, zatímco _fcvt interpretuje count jako počet číslic za desetinnou čárkou.
_ecvt a _fcvt pro převod použijte jednu staticky přidělenou vyrovnávací paměť. Každé volání jedné z těchto rutin zničí výsledky předchozího volání.
Tato funkce ověří své parametry. Pokud dec je nebo je nebo count sign je NULL0, vyvolá se neplatná obslužná rutina parametru, jak je popsáno v ověření parametru. Pokud je spuštění povoleno pokračovat, errno je nastavena na EINVALhodnotu a NULL je vrácena.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Požadavky
| Function | Požadovaný hlavičkový soubor |
|---|---|
_fcvt |
<stdlib.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// 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 );
}
source: 3.1415926535 buffer: '31415927' decimal: 1 sign: 0
Viz také
Konverze dat
Podpora pro matematiku a plovoucí desetinou čárku
atof, _atof_l, , _wtof_wtof_l
_ecvt
_gcvt