共用方式為


atof、 _atof_l、 _wtof、 _wtof_l

將字串轉換為雙。

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

參數

  • str
    以指定須轉換的字串。

  • locale
    若要使用的地區設定。

傳回值

每個函式會傳回double值所產生的解譯為數字的輸入的字元。 如果輸入無法轉換成該型別的值,則傳回值為 0.0。

在所有範圍外的情況下,errno 設為ERANGE。 如果傳入的參數是NULL,不正確的參數處理常式會叫用,如所述參數驗證。 如果執行,則允許繼續執行,這些函式會設定errno到EINVAL ,並傳回 0。

備註

這些函式轉換為雙精度浮點數的值為字元字串。

輸入的字串是可解譯為指定之型別的數值的字元序列。 函式會停止讀取輸入無法辨識的數字的組件的第一個字元字串。 這個字元可能會Null 字元('\ 0' 或 '\ 0' L) 結束的字串。

str引數atof和**_wtof**的表單如下:

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

A whitespace包含空格或 tab 字元,會被忽略 ; sign可能是加號 (+) 或減號 (-) ; 與digits是一或多個十進位數字。 如果沒有數字會出現在十進位之前,至少一個必須出現在十進位之後。 十進位數字後面可能跟簡介的字母所組成的指數 (d, D, e,或E) 和一個選擇性帶正負號十進位整數。

使用這些函式的版本_l尾碼完全相同,不同之處在於它們會使用傳入而非目前的地區設定的地區設定參數。

泛用文字常式對應

TCHAR。H常式

_UNICODE & 未定義的 _MBCS

定義的 _MBCS

定義 _unicode 之後

_tstof

atof

atof

_wtof

_ttof

atof

atof

_wtof

需求

Routine(s)

所需的標題

atof

<math.h> 和 <stdlib.h>

_atof_l

<math.h> 和 <stdlib.h>

_wtof, _wtof_l

<stdlib.h> 或者 <wchar.h>

範例

此程式會示範如何轉換儲存為字串的數字,值必須為數字使用atof函式。

// 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 對等用法

請參閱

參考

資料轉換

浮點支援

地區設定

_ecvt

_fcvt

_gcvt

setlocale _wsetlocale

_atodbl、 _atodbl_l、 _atoldbl、 _atoldbl_l、 _atoflt _atoflt_l