原型:double strtod(const char *nptr,char **endptr);
相关函数 atoi,atol,strtod,strtol,strtoul
头文件:stdlib.h
功能:将字符串转换成浮点数
说明:strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。
返回值:返回转换后的浮点型数。
参数:
nptr:被转换的字符串
endptr:将遇到不合条件而终止的nptr中的字符指针返回
应用实例:
#include <stdlib.h>
#include <stdio.h>
int main()
{double c = 0;char *endptr;c = strtod("200e-2",&endptr);printf("原始字符串:200e-2\t转换后:%f\t返回字符串:%s\n",c,endptr);c = strtod("123%^456",&endptr);printf("原始字符串:123%^456\t转换后:%f\t返回字符串:%s\n",c,endptr);c = strtod("#$%123%^098",&endptr);printf("原始字符串:#$%123%^098\t转换后:%f\t返回字符串:%s\n",c,endptr);c = strtod(" ",&endptr);printf("原始字符串: \t转换后:%f\t返回字符串:%s\n",c,endptr);c = strtod("0.55",&endptr);printf("原始字符串:0.55\t转换后:%f\t返回字符串:%s\n",c,endptr);c = strtod("145789632",&endptr);printf("原始字符串:145789632\t转换后:%f\t返回字符串:%s\n",c,endptr);c = strtod("$#@!",&endptr);printf("原始字符串:$#@!\t转换后:%f\t返回字符串:%s\n",c,endptr);return 0;
}
运行结果: