C90(C++98) | 使用“C”语言环境的atof的有效浮点数由可选符号字符(+或-)和数字序列组成, 可以包含小数点字符(.),可选后跟指数部分(e或E字符后跟可选符号和数字序列) |
C99/C11(C++11) | 使用“C”语言环境的atof的有效浮点数由可选的符号字符(+或-)组成,后面跟着一个:
- 数字序列,可选包含小数点字符(.),可选后跟指数部分(e或E字符后跟一个可选符号和数字序列)。 - 一个0x或0X前缀,然后是一个十六进制数字序列(如isxdigit),可选地包含一个句点,将整数和小数部分分开。 可选后跟2次幂(p或P字符后跟一个可选符号和一个十六进制数字序列)。 - INF或INFINITY(忽略大小写)。 - NAN或NANsequence(忽略大小写),其中sequence是字符序列,每个字符要么是字母数字字符(如isalnum),要么是下划线字符(_)。 |
/* 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; } |
strtod | 将字符串转换为double (function ) |
atoi | 将字符串转换为integer (function ) |
atol | 将字符串转换为 long integer(function ) |