首页 > 编程笔记

C语言atof():将字符串转换为浮点数

atof() 是 C语言的一个标准库函数,定义在<stdlib.h>头文件中。

atof() 函数用于将包含浮点数的字符串转换为相应的浮点数。

atof() 函数首先会丢弃尽可能多的空白字符,直至找到第一个非空白字符,然后从该字符开始,将后续的有效字符转换成浮点数,最后一个有效字符之后的字符串将被忽略。

atof() 函数的原型如下:
double atof(const char *str);

参数

str 用来指向要转换的字符串。

返回值

返回转换成功后的双精度浮点数(类型为 double);如果转换失败,返回 0.0。

【实例】以下的 C语言代码演示了 atof() 函数的功能和用法。
#include <stdio.h>
#include <stdlib.h>

int main() {
    const char* str1 = "3.14";
    const char* str2 = "   3.14abc";
    const char* str3 = "abc"; // 无效的浮点数表示

    double value1 = atof(str1);
    double value2 = atof(str2);
    double value3 = atof(str3); // 将返回0.0

    printf("Value of str1: %f\n", value1);
    printf("Value of str2: %f\n", value2);
    printf("Value of str3: %f\n", value3); // 打印0.000000

    return 0;
}
上述代码将转换三个字符串,前两个包含有效的浮点数表示,最后一个包含无效表示。结果为:

Value of str1: 3.140000
Value of str2: 3.140000
Value of str3: 0.000000

推荐阅读