Freigeben über


_ecvt

Konvertiert double eine Zahl in eine Zeichenfolge. Eine sicherere Version dieser Funktion ist verfügbar; finden Sie unter _ecvt_s.

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

Parameter

  • value
    Zu konvertierende Zahl.

  • count
    Zahl Ziffern gespeichert.

  • dec
    Gespeicherte Kommastellung.

  • sign
    Zeichen der konvertierten Zahl.

Rückgabewert

_ecvt gibt einen Zeiger zur Zeichenfolge aus Ziffern zurück; MAKE ungültig, wenn ein Fehler aufgetreten ist.

Hinweise

Die _ecvt-Funktion konvertiert eine Gleitkommazahl zu einer Zeichenfolge. Der value-Parameter ist die zu konvertierende, Gleitkommazahl. Diese Funktion speichert bis count Ziffern von value als Zeichenfolge und fügt an ein NULL-Zeichen ("\ 0 "). Wenn die Anzahl der Ziffern in valuecount überschreitet, wird die Ziffer niederwertige gerundet. Wenn es weniger als Ziffern count gibt, wird die Zeichenfolge durch Nullen ergänzt.

Die Gesamtzahl von Ziffern, die von _ecvt zurückgegeben werden, überschreitet nicht _CVTBUFSIZE.

Nur Ziffern sind in der Zeichenfolge gespeichert. Die Position des Dezimaltrennzeichens und das Zeichen von value können von dec und sign nach dem Aufruf abgerufen werden. Der dec-Parameter zeigt auf einen ganzzahligen Wert, der die Position des Dezimaltrennzeichens in Bezug auf den Anfang der Zeichenfolge vorhanden sind. 0 oder ein ganzzahliger negativer Wert gibt an, dass das Dezimaltrennzeichen auf der linken Seite die erste Ziffer liegt. Der sign-Parameter zeigt auf eine ganze Zahl, die das Zeichen der konvertierten Zahl angibt. Wenn der ganzzahlige Wert 0 ist, wird die Zahl positiv. Andernfalls ist die Zahl negativ.

Der Unterschied zwischen _ecvt und _fcvt ist in der Interpretation des Parameters count. _ecvt interpretiert count während die Gesamtzahl der Stellen in der Ausgabezeichenfolge, während _fcvtcount als Anzahl von Ziffern nach dem Dezimaltrennzeichen interpretiert.

_ecvt und _fcvt verwenden einen statisch einzelnen zugeordneten Puffer für die Konvertierung. Jeder Aufruf bis eine dieser Routinen zerstört das Ergebnis der vorherigen Aufrufs.

Diese Funktion überprüft ihre Parameter. Wenn dec oder sign ist NULL oder count 0 ist, wird der ungültige Parameterhandler aufgerufen, wie in Parametervalidierung beschrieben. Wenn die Ausführung zulässig ist, um fortzufahren, wird errno auf EINVAL festgelegt und NULL wird zurückgegeben.

Anforderungen

Funktion

Erforderlicher Header

_ecvt

<stdlib.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.

Beispiel

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

.NET Framework-Entsprechung

System::Convert::ToString

Siehe auch

Referenz

Datenkonvertierung

Gleitkommaunterstützung

atof, _atof_l, _wtof, _wtof_l

_fcvt

_gcvt