C语言字符串转浮点数strtod函数

C语言strtod函数教程

C 语言 中我们要将一个 字符串 转成 浮点数 ,我们可以使用 strtod 函数。strtod 函数把字符串参数所指向的字符串转换为一个浮点数(类型为 double 型)。

strtod函数详解

语法

double strtod(const char *str, char **endptr);

参数

参数 描述
str 要转换为双精度浮点数的字符串。
endptr 对类型为 char 的对象的引用,其值由函数设置为 str 中数值后的下一个字符。

返回值

该函数返回转换后的双精度浮点数,如果没有执行有效的转换,则返回零(0.0)。

说明

如果 endptr 不为空,则指向转换中最后一个字符后的字符的指针会存储在 endptr 引用的位置。

技术细节

使用 strtod 函数,需要引入 stdlib.h 头文件。

案例

C语言字符串转浮点数

使用 strtod() 函数,实现将字符串转浮点数

#include <stdio.h> #include <stdlib.h> int main() { printf("嗨客网(www.haicoder.net)\n\n"); char str[] = "12345.6789"; double ret; ret = strtod(str, NULL); printf("Num Ret = %f\n", ret); return 0; }

程序运行后,控制台输出如下:

32_C语言字符串转浮点数strtod函数.png

我们首先定义了一个 字符数组 str,里面存放的浮点数,接着,我们使用了 strtod 函数,实现了将字符数组 str 转成了 double 类型,并赋值给 ret。

因为,我们的字符数组没有字符串部分,因此,strtod 函数的第二个参数,我们赋值为了 NULL。最后,我们使用了 printf 打印出了转换后的浮点数。

C语言字符串转浮点数

使用 strtod() 函数,实现将字符串转浮点数

#include <stdio.h> #include <stdlib.h> int main() { printf("嗨客网(www.haicoder.net)\n\n"); char str[] = "12345.6789HaiCoder123!"; double ret; char *strRet; ret = strtod(str, &strRet); printf("Num Ret = %f, Str Ret = %s\n", ret, strRet); return 0; }

程序运行后,控制台输出如下:

33_C语言字符串转浮点数strtod函数.png

这次,我们使用 strtod 将字符串转成浮点数,同时,我们传入了第二个参数,实现了,将浮点数和字符串都转换了出来。

C语言strtod函数总结

在 C 语言中我们要将一个字符串转成浮点数 ,我们可以使用 strtod 函数。