Sdílet prostřednictvím


_ecvt

Převede double čísla na řetězec.Bezpečnější verze této funkce je k dispozici; see _ecvt_s.

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

Parametry

  • value
    Číslo převést.

  • count
    Počet číslic, které jsou uloženy.

  • dec
    Uložené pozice desetinné čárky.

  • sign
    Znak převedený číslo.

Vrácená hodnota

_ecvtVrací ukazatel na řetězec číslic; NULL, pokud došlo k chybě.

Poznámky

_ecvt Funkce převede na řetězec znaků číslo s plovoucí desetinnou čárkou.value Je parametr 8bajtové číslo převést.Tato funkce ukládá až count číslic value jako řetězec a přidá znak null (\0).Pokud počet číslic v value přesahuje count, nejnižší číslice se zaokrouhlí.Pokud existují méně než count číslice řetězce je doplněno nulami.

Celkový počet číslic vrácené _ecvt nepřekročí _CVTBUFSIZE.

V řetězci jsou uloženy pouze číslice.Poloha desetinné čárky a znaménko value lze získat z dec a sign po volání.dec Parametr odkazuje na celočíselnou hodnotu udávající polohu desetinné čárky, s ohledem na začátku řetězce.Hodnota 0 nebo záporné celé číslo označuje, že desetinnou leží nalevo od první číslice.sign Parametr odkazuje na celé číslo označující znaménko čísla převedené.Pokud celočíselnou hodnotu 0, je číslo kladné.Jinak je záporné číslo.

Rozdíl mezi _ecvt a _fcvt je ve výkladu count parametr._ecvtinterpretuje count jako celkový počet číslic v výstupní řetězec, že _fcvt interpretuje count jako počet číslic za desetinnou čárkou.

_ecvta _fcvt použití jedné staticky přidělené vyrovnávací paměti pro převod.Každé volání jedné tyto rutiny ničí výsledek předchozí volání.

Tato funkce ověřuje jeho parametry.Pokud dec nebo sign hodnotu NULL, nebo count je 0, vyvolat neplatný parametr popisovače, jak je popsáno v Ověření parametrů.Pokud je povoleno spuštění pokračovat, errno je nastavena na EINVAL a je vrácena hodnota NULL.

Požadavky

Function

Požadované záhlaví

_ecvt

<stdlib.h>

Další informace o kompatibilitě v tématu Compatibility v úvodu.

Příklad

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

Ekvivalent v rozhraní .NET Framework

System::convert::toString

Viz také

Referenční dokumentace

Převod dat

Podpora s plovoucí desetinnou čárkou

atof, _atof_l, _wtof, _wtof_l

_fcvt

_gcvt