- 头文件
- 函数原型
- 函数说明
- 返回值
- 示例
#include函数原型
double atof(const char *str);函数说明
- atof 为 ascii to floating point numbers 的缩写,将字符串转换为双精度浮点数(double);
- atof() 会扫描输入字符串 str*,跳过前面的空格字符(如空格,tab等),直到遇到数字或正负符号才开始做转换,在遇到非数字 或 该字符串结束(‘ ’) 时会结束转换,并将结果返回。 字符串 str* 可包含正负号、小数点或E(e)来表示指数部分,如 123.456 或 123e-2;
返回转换后的浮点数,如果字符串 str* 不能被转换为 double,则返回 0.0(如果 atof() 先遇到字符,返回 0.0)。
示例#include#include #define NUM (255) int main() { char a[NUM] = "-110.3456"; char b[NUM] = "-123.4 56.78"; char c[NUM] = "1234hsf"; char d[NUM] = "ada1234"; char e[NUM] = "1234aaf1456"; char f[NUM] = "1234aaf 1456"; char g[NUM] = "200e-2"; printf("a = %.4lfn",atof(a)); printf("b = %.2lfn",atof(b)); printf("c = %.2lfn",atof(c)); printf("d = %.2lfn",atof(d)); printf("e = %.2lfn",atof(e)); printf("f = %.2lfn",atof(f)); printf("g = %.2lfn",atof(g)); return 0; }
执行结果为:
a = -110.3456
b = -123.40
c = 1234.00
d = 0.00
e = 1234.00
f = 1234.00
g = 2.00



