atof, _atof_l, _wtof, _wtof_l
Bir dize için çift dönüştürün.
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
);
Parametreler
str
Dönüştürülecek dize.locale
Kullanılacak yerel ayarı.
Dönüş Değeri
Her işlev verir double giriş karakterleri sayı olarak yorumlama tarafından üretilir.Dönüş değeri 0.0 ise giriş türü bir değere dönüştürülemez.
Tüm aralık dışı durumlarda hatano ayarlamak ERANGE.Geçirilen parametre ise NULL, geçersizparametre işleyicisi, açıklandığı şekilde çağrılır Parametre doğrulama. Yürütülmesine devam etmek için izin verilmişse, bu işlevler kümesi errno için EINVAL ve 0 döndürür.
Notlar
Bu işlevler dönüştürmek bir çift duyarlıklı kayan nokta değeri için bir karakter dizesi.
Belirtilen türde bir sayısal değer yorumlanan karakter dizi giriş dizedir.Giriş dizesi bir parçası olarak tanıyamaz ilk karakterinde okuma işlev durdurur.null karakteri ('\0' veya '\0' l) bu karakter olabilir dize sona eriyor.
str bağımsız değişken atof ve _wtof aşağıdaki formvardır:
[whitespace] [sign] [digits] [.digits] [ {d | D | e | E }[sign]digits]
A whitespace göz ardı edilir; boşluk veya sekme karakterleri oluşur signya artı (+) veya eksi (-); ve digits bir veya daha fazla ondalık basamağı olan.Hiç basamak ondalık noktasından görünüyorsa, en az bir ondalık noktasından sonra yer almalıdır.ondalık basamak bir tanıtım harfi oluşan bir üs takip edilebilir (d, D, e, veya E) ve isteğe bağlı olarak imzalanmış ondalıkbirtamsayı.
Bu işlevler ile sürümlerini _l soneki yerine geçerli yerel ayargeçirilen yerel ayarparametre kullandıkları dışında aynı.
Genel metin yordamı eşlemeleri
TCHAR.H yordamına girildi |
_UNICODE & _mbcs tanımlı değil |
Tanımlanan _mbcs |
Tanımlanan _UNICODE |
---|---|---|---|
_tstof |
atof |
atof |
_wtof |
_ttof |
atof |
atof |
_wtof |
Gereksinimler
Routine(s) |
Gerekli üstbilgi |
---|---|
atof |
<math.h> ve <stdlib.h> |
_atof_l |
<math.h> ve <stdlib.h> |
_wtof, _wtof_l |
<stdlib.h> veya <wchar.h> |
Örnek
Bu program , dizeler olarak saklanmış sayılar sayısal değerlerini kullanarak nasıl dönüştürülebilir gösterir atof işlev.
// 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 );
}