_ecvt

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

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

Parameter

  • value
    Der zu konvertierende Zahl.

  • count
    Anzahl von Ziffern gespeichert.

  • dec
    Gespeicherte Kommastellung.

  • sign
    Anzahl der konvertierten Zeichen.

Rückgabewert

_ecvt gibt einen Zeiger auf die Zeichenfolge von Ziffern zurück. NULL, wenn zur ein Fehler aufgetreten ist.

Hinweise

Die _ecvt-Funktion konvertiert eine Gleitkommazahl in eine Zeichenfolge.Der Parameter ist value die zu konvertierende Gleitkommazahl.Diese Funktion speichert bis zu count Ziffern von value als Zeichenfolge und fügt ein NULL-Zeichen („\ 0 ").Wenn die Anzahl der Ziffern in valuecountüberschreitet, wird die niedrige Zahl aufgerundet.Wenn weniger Ziffern als count vorhanden ist, wird die Zeichenfolge mit Nullen aufgefüllt.

Die Gesamtanzahl der Ziffern, die durch _ecvt zurückgegebenen _CVTBUFSIZEnicht überschreitet.

Nur Ziffern sind in der Zeichenfolge gespeichert.Die Position des Dezimaltrennzeichens und das Zeichen aus 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 gibt.0 oder negativer ganzzahliger Wert gibt an, dass das Dezimaltrennzeichen links vom ersten Stelle befindet.Der sign-Parameter zeigt auf eine ganze Zahl, die das Vorzeichen 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 count-Parameters._ecvt interpretiert count während die Gesamtanzahl der Ziffern in der Ausgabezeichenfolge, während _fcvtcount als die Anzahl der Stellen nach dem Dezimalkomma interpretiert.

_ecvt und _fcvt verwenden einen einzelnen statisch verknüpften Puffer für die Konvertierung.Jeder Aufruf von einer der folgenden Routinen zerstört das Ergebnis des vorherigen Aufrufs.

Diese Funktion überprüft seine Parameter.Wenn dec oder sign NULL ist oder count 0 ist, wird der Ereignishandler aufgerufen, z. B. ungültige Parameter in Parametervalidierungbeschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, wird errno zu EINVAL festgelegt und NULL zurückgegeben.

Anforderungen

Funktion

Erforderlicher Header

_ecvt

<stdlib.h>

Weitere Informationen finden Sie unter Kompatibilität 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