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 değeri üretilen girdi karakter sayı olarak yorumlayan.Dönüş değeri 0.0 ise giriş türü bir değere dönüştürülemez.
Aralık dışı durumların hiçbirinde hatano ayarlamak ERANGE.Geçirilen parametre ise NULL, açıklandığı gibi geçersiz bir parametre işleyici çağrılır Parametre Doğrulama.Yürütmenin devam etmesine izin verilirse bu işlevler errno öğesini EINVAL olarak ayarlar ve 0 döndürür.
Notlar
Bu işlevler bir karakter dizesindeki çift duyarlıklı, kayan nokta değerine dönüştürür.
Giriş dizesi belirtilen türde bir sayısal değer olarak yorumlanabilecek bir karakter dizisidir.İşlev bir sayının parçası olarak tanıyamadığı ilk karakterde giriş dizesini okumayı durdurur.Bu karakter null karakteri ('\0' veya '\0' L) olabilir dizesi sonlandırılıyor.
str Bağımsız değişkeni atof ve _wtof aşağıdaki biçime sahiptir:
[whitespace] [sign] [digits] [.digits] [ {d | D | e | E }[sign]digits]
A whitespace , göz ardı edilir; boşluk veya sekme karakterlerden oluşur sign da artı (+) veya eksi (-); ve digits bir veya daha fazla ondalık basamak olur.Hiçbir rakam ondalık ayırıcıdan önce görünürse, en az bir ondalık noktadan sonra yer almalıdır.Ondalık basamak bir tanıtım harfini oluşan bir üssü tarafından takip edilebilir (d, D, e, veya E) ve isteğe bağlı olarak işaretli bir ondalık tamsayı.
_l sonekine sahip bu işlevlerin sürümleri, geçerli yerel ayarı yerine iletilen yerel ayar parametresini kullanmalarıdır.
Genel Metin Yordam Eşleşmeleri
TCHAR.H yordamı |
_UNICODE & _MBCS tanımlanmamış |
_MBCS tanımlanmış |
_UNICODE tanımlanmış |
---|---|---|---|
_tstof |
atof |
atof |
_wtof |
_ttof |
atof |
atof |
_wtof |
Gereksinimler
Routine(s) |
Gerekli başlık |
---|---|
atof |
<Math.h> ve <stdlib.h> |
_atof_l |
<Math.h> ve <stdlib.h> |
_wtof, _wtof_l |
<string.h> veya <wchar.h> |
Örnek
Bu program için sayısal değerler kullanarak dizeleri olarak saklanmış sayıları nasıl dönüştürülemeyeceğini göstermektedir 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 );
}