C 语言标准库函数 - strtod()
C 语言标准库 <stdlib.h> 函数 double strtod(const char *str, char endptr) 把参数 str** 所指向的字符串转换为一个浮点数(类型为 double 型)。
如果 endptr 不为空,则指向转换中最后一个字符后的字符的指针会存储在 endptr 引用的位置
头文件
#include <stdlib.h>
函数原型
下面是 strtod() 函数的原型
double strtod(const char *str, char **endptr)
参数
-
str : 要转换为双精度浮点数的字符串
-
endptr : 对类型为 char* 的对象的引用,其值由函数设置为 str 中数值后的下一个字符
返回值
该函数返回转换后的双精度浮点数,如果没有执行有效的转换,则返回 0.0
范例
下面的范例演示了 strtod() 函数的用法
/** * file: main.c * author: 简单教程(www.twle.cn) * * Copyright © 2015-2065 www.twle.cn. All rights reserved. */ #include <stdio.h> #include <stdlib.h> int main() { char str[30] = "3.1415926 This is text"; char *ptr; double ret; ret = strtod(str, &ptr); printf("数字(double)是 %lf\n", ret); printf("字符串部分是 |%s|\n", ptr); return(0); }
编译运行范例,输出结果如下
$ gcc main.c && ./a.out 数字(double)是 3.141593 字符串部分是 | This is text|