Sdílet prostřednictvím


atof, _atof_l, _wtof, _wtof_l

Převeďte řetězec na dvojité.

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

Parametry

  • str
    Řetězec, který chcete převést.

  • locale
    Použití národního prostředí.

Vrácená hodnota

funkce vrátí double hodnotu vyrobených interpretací zadávání znaků jako číslo.Vrácená hodnota je 0.0, pokud vstupní nelze převést na hodnotu typu.

Ve všech případech mimo rozsah kód chyby je nastavena na ERANGE.Pokud parametr předaný je NULL, vyvolat neplatnýpopisovačparametr , jak je popsáno v Ověření parametrů. Pokud je povoleno spuštění pokračovat, nastavit tyto funkce errno na EINVAL a vrátí 0.

Poznámky

Tyto funkce převést znakový řetězec na hodnotu s dvojitou přesností a plovoucí desetinnou čárkou.

Vstupní řetězec je sekvence znaků, které lze interpretovat jako číselnou hodnotu zadaného typu.funkce ukončí čtení vstupního řetězce prvního znaku, který nelze rozpoznat jako část čísla.Tento znak může být znak Null ("\0" nebo "L"\0") ukončení řetězce.

str argument atof a _wtof má následující formulář:

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

A whitespace tvoří mezera nebo tabulátor znaky, které jsou ignorovány; signje buď plus (+) nebo mínus (-); a digits jsou jeden nebo více desítkové číslo míst.Žádné číslic se zobrazí před desítkové číslo místo, alespoň jeden musí být uvedena po desítkové číslo místo.Může následovat desítkové číslo číslic exponentu tvoří úvodní písmeno (d, D, e, nebo E) a volitelně podepsané desítkové číslointeger.

Verze těchto funkcí se _l přípony jsou shodné s výjimkou, že používají národní prostředíparametr předaný namísto aktuální národní prostředí.

Obecný Text rutinní mapování

TCHAR.Rutina H

_UNICODE & _MBCS není definován

_MBCS, definice

_UNICODE, definice

_tstof

atof

atof

_wtof

_ttof

atof

atof

_wtof

Požadavky

Routine(s)

Požadované hlavička

atof

<math.h> a <stdlib.h>

_atof_l

<math.h> a <stdlib.h>

_wtof, _wtof_l

<stdlib.h> nebo <wchar.h>

Příklad

Tento program zobrazuje, jak lze převést čísla uložená jako řetězce na číselné hodnoty pomocí atof funkce.

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

}
  

Ekvivalent v rozhraní .NET Framework

Viz také

Referenční dokumentace

Převod dat

Podpora s plovoucí desetinnou čárkou

Národní prostředí

_ecvt

_fcvt

_gcvt

setlocale _wsetlocale

_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt _atoflt_l