C語言stdlib頭文件(stdlib.h)中atof函數的用法及代碼示例。
用法:
double atof (const char* str);
將字符串轉換為雙精度
double
。該函數首先丟棄盡可能多的空格字符(如isspace),直到找到第一個非空白字符為止。然後,從該字符開始,采用與浮點字麵量類似的語法(請參見下文),盡可能多地使用有效的字符,並將其解釋為數值。最後一個有效字符之後的其餘字符串將被忽略,並且對此函數的行為沒有影響。
有效的浮點數atof使用
"C"
語言環境由可選的符號字符(+
或者-
),然後是數字序列,可以選擇包含小數點字符(.
),然後可選的是 index 部分(e
或者E
字符,後跟一個可選的符號和一個數字序列)。如果第一個非空格字符序列str不能像剛剛定義的那樣形成有效的浮點數,或者如果不存在這樣的序列,因為str為空或僅包含空格字符,不執行任何轉換並且該函數返回
0.0
。參數
- str
- C-string以浮點數表示開頭。
返回值
成功後,該函數將轉換後的浮點數返回為double
值。如果無法執行有效的轉換,則該函數返回零(
0.0
)。如果轉換後的值超出可表示值範圍的範圍,則
double
,它導致未定義的行為。看strtod在可能的情況下,使用更健壯的cross-platform替代方案。示例
/* atof example: sine calculator */
#include <stdio.h> /* printf, fgets */
#include <stdlib.h> /* atof */
#include <math.h> /* sin */
int main ()
{
double n,m;
double pi=3.1415926535;
char buffer[256];
printf ("Enter degrees: ");
fgets (buffer,256,stdin);
n = atof (buffer);
m = sin (n*pi/180);
printf ("The sine of %f degrees is %f\n" , n, m);
return 0;
}
輸出:
Enter degrees: 45 The sine of 45.000000 degrees is 0.707101 |
相關用法
- C語言 atoi用法及代碼示例
- C語言 atol用法及代碼示例
- C語言 atoll用法及代碼示例
- C語言 strtod用法及代碼示例
- C語言 strtof用法及代碼示例
- C語言 strtol用法及代碼示例
- C語言 strtold用法及代碼示例
- C語言 strtoll用法及代碼示例
- C語言 strtoul用法及代碼示例
- C語言 strtoull用法及代碼示例
- C語言 rand用法及代碼示例
- C語言 srand用法及代碼示例
- C語言 calloc用法及代碼示例
- C語言 free用法及代碼示例
- C語言 malloc用法及代碼示例
- C語言 realloc用法及代碼示例
- C語言 abort用法及代碼示例
- C語言 atexit用法及代碼示例
- C語言 at_quick_exit用法及代碼示例
- C語言 exit用法及代碼示例
- C語言 getenv用法及代碼示例
- C語言 quick_exit用法及代碼示例
- C語言 system用法及代碼示例
- C語言 _Exit用法及代碼示例
- C語言 bsearch用法及代碼示例
- C語言 qsort用法及代碼示例
- C語言 abs用法及代碼示例
- C語言 div用法及代碼示例
- C語言 labs用法及代碼示例
- C語言 ldiv用法及代碼示例
- C語言 llabs用法及代碼示例
- C語言 lldiv用法及代碼示例
- C語言 mblen用法及代碼示例
- C語言 mbtowc用法及代碼示例
- C語言 wctomb用法及代碼示例
- C語言 wcstombs用法及代碼示例
注:本文由純淨天空篩選整理自C標準庫大神的英文原創作品 C atof function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。