atof, _atof_l, _wtof, _wtof_l

Konvertieren einer Zeichenfolge, um sich selbst zu verdoppeln.

double atof(
   const char *str 
);
double _atof_l(
   const char *str,
   _locale_t locale
);
double _wtof(
   const wchar_t *str 
);
double _wtof_l(
   const wchar_t *str,
   _locale_t locale
);

Parameter

  • str
    Der zu konvertierende Zeichenfolge.

  • locale
    Der zu verwendende Gebietsschema.

Rückgabewert

Jede Funktion gibt den Wert zurück, der double mithilfe der Eingabezeichen als Zahl erzeugt wird, interpretiert.Der Rückgabewert ist 0.0, wenn die Eingabe nicht auf einen Wert dieses Typs konvertiert werden kann.

In allen Fällen wird errno außerhalb des Gültigkeitsbereichs zu ERANGEfestgelegt.Wenn der Parameter übergebene NULList, wird der Ereignishandler aufgerufen, z. B. ungültige Parameter in Parametervalidierungbeschrieben.Wenn die Ausführung fortgesetzt werden kann, darf dieses Features zu EINVAL und legen errno return 0.

Hinweise

Diese Funktion konvertieren eine Zeichenfolge in einen Gleitkommawert mit doppelter Genauigkeit.

Die Eingabezeichenfolge ist eine Folge von Zeichen, die als numerische Wert des angegebenen Typs interpretiert werden können.Die Funktion wird beendet, die Eingabezeichenfolge am ersten Zeichen zu lesen, das sie nicht als Teil einer Zahl erkennen kann.Dieses Zeichen ist möglicherweise das NULL-Zeichen („\ 0 " oder l " \ 0 ") die Zeichenfolge Beenden.

Das str Argument an atof und _wtof verfügt über das folgende Format:

[whitespace] [sign] [digits] [.digits] [ {d | D | e | E }[sign]digits]

whitespace besteht aus Leerzeichen oder Tabulatorzeichen, die ignoriert werden. sign ist entweder Plus (+) oder Minuszeichen (–); digits sind und eine oder mehrere Dezimalstellen.Wenn keine Ziffern vor dem Dezimalkomma erscheinen, muss mindestens die nach dem Dezimalkomma erscheinen.Die Dezimalstellen sind möglicherweise gefolgt von einem Exponenten einem Brief (d, DEinführung, eoder E) und einer ganzen Zahl mit Vorzeichen optional Decimal Data.

Die Versionen dieser Funktionen mit dem _l Suffix sind identisch, mit der Ausnahme, dass sie verwenden den Gebietsschemaparameter, der anstelle des aktuellen Gebietsschemas übergeben wird.

Zuweisung generischer Textroutinen

TCHAR.H-Routine

_UNICODE & _MBCS nicht definiert

_MBCS definieren

_UNICODE definiert

_tstof

atof

atof

_wtof

_ttof

atof

atof

_wtof

Anforderungen

Routinen

Erforderlicher Header

atof

<math.h> und <stdlib.h>

_atof_l

<math.h> und <stdlib.h>

_wtof, _wtof_l

<stdlib.h> oder <wchar.h>

Beispiel

Dieses Programm zeigt, wie die Zahlen als Zeichenfolgen gespeichert werden, auf numerischen Werten mithilfe der atof Funktion konvertiert werden kann.

// crt_atof.c
//
// This program shows how numbers stored as 
// strings can be converted to numeric
// values using the atof function.

#include <stdlib.h>
#include <stdio.h>

int main( void )
{
    char    *str = NULL;
    double  value = 0;

    // An example of the atof function
    // using leading and training spaces.
    str = "  3336402735171707160320 ";
    value = atof( str );
    printf( "Function: atof( \"%s\" ) = %e\n", str, value );

    // Another example of the atof function
    // using the 'd' exponential formatting keyword.
    str = "3.1412764583d210";
    value = atof( str );
    printf( "Function: atof( \"%s\" ) = %e\n", str, value );

    // An example of the atof function
    // using the 'e' exponential formatting keyword.
    str = "  -2309.12E-15";
    value = atof( str );
    printf( "Function: atof( \"%s\" ) = %e\n", str, value );

}
  

.NET Framework-Entsprechung

Siehe auch

Referenz

Datenkonvertierung

Gleitkommaunterstützung

Gebietsschema

_ecvt

_fcvt

_gcvt

setlocale, _wsetlocale

_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt _atoflt_l