将char数组转换成float型数据,可使用两种库函数:
方法1:
strtod(const char* ptr, char** endptr)
当strtod的第二个参数endptr不为NULL时,且ptr中含非法字符,则会将非法字符通过endptr返回。
方法2:
atof(const char *ptr)
实例演示:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char buf[10] = "-123.456";
float f = atof(buf); //转换
printf("%f\n", f);
f = strtod(buf, NULL); //转换
printf("%f\n", f);
return 0;
}