Udostępnij za pośrednictwem


atof, _atof_l, _wtof, _wtof_l

Konwertowanie ciągu, Podwójna.

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
    Ciąg do konwersji.

  • locale
    Ustawienia regionalne, aby użyć.

Wartość zwracana

Każda funkcja zwraca double wartość wyprodukowanych przez zinterpretowanie wprowadzanie znaków jako liczba.Wartość zwracana jest 0.0, jeśli dane wejściowe nie można przekonwertować wartości tego typu.

We wszystkich przypadkach spoza zakresu errno jest ustawiona ERANGE.Jeśli parametr przekazywany w NULL, obsługi nieprawidłowyparametr jest wywoływany, jak opisano w Sprawdzanie poprawności parametru. Jeśli wykonanie może kontynuować, ustaw te funkcje errno do EINVAL i zwraca wartość 0.

Uwagi

Te funkcje konwertować ciąg znaków do wartości o podwójnej precyzji, zmiennoprzecinkowych.

Ciąg wejściowy jest sekwencja znaków, które mogą być interpretowane jako wartości liczbowe określonego typu.funkcja Zatrzymuje czytanie ciąg wejściowy od pierwszego znaku, który nie jest rozpoznawana jako część numeru.Znak ten może być znak null ('\0' lub L '\0') kończące ciąg.

str argument atof i _wtof ma następujący formularz:

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

A whitespace składa się ze znaków spacja lub tabulator, które są ignorowane; signjest albo plus (+) lub minus (-); i digits są jeden lub więcej cyfr liczba dziesiętna .Jeśli nie cyfr pojawia się przed punktem liczba dziesiętna , co najmniej jeden musi znajdować się po separatorze liczba dziesiętna .Cyfr liczba dziesiętna może następować wykładniku, który składa się z listu (d, D, e, lub E) i opcjonalnie podpisane liczba dziesiętnaliczba całkowita.

Wersje te funkcje, z _l sufiks są identyczne, z wyjątkiem, że korzystają z ustawienia regionalneparametr przekazany zamiast bieżącego ustawienia regionalne.

Tekst rodzajowy rutynowych mapowania

TCHAR.Rutynowe H

_UNICODE & Nie zdefiniowano _MBCS

_MBCS, definicja

_UNICODE, definicja

_tstof

atof

atof

_wtof

_ttof

atof

atof

_wtof

Wymagania

Routine(s)

Wymaganego nagłówek

atof

<math.h> i <stdlib.h>

_atof_l

<math.h> i <stdlib.h>

_wtof, _wtof_l

<stdlib.h> lub <wchar.h>

Przykład

Program ten pokazuje, jak liczby przechowywane jako ciągi mogą być konwertowane na wartości liczbowe za pomocą atof funkcja.

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

}
  

Odpowiednik w programie .NET Framework

Zobacz też

Informacje

Konwersja danych

Wsparcie zmiennoprzecinkowe

Ustawienia regionalne

_ecvt

_fcvt

_gcvt

setLocale, _wsetlocale

_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt _atoflt_l