#include<stdio.h>
#include<ctype.h>
// stof函数:把字符串s转换为相应的双精度浮点数
double atof(char s[])
{
double val,power;
int i,sign;
//去除空格
for(i = 0;isspace(s[i]);i++)
;
sign = (s[i] == '-')? -1 : 1;
if(s[i] == '+' || s[i] == '-')
i++;
//转换小数点以后的数字
for(val = 0.0;isdigit(s[i]);i ++)
val = 10.0 * val +(s[i] - '0');
//监测小数点
if(s[i] == '.')
i ++;
//转换小数点以后的数字,并记录小数点的位置
for(power = 1.0;isdigit(s[i]);i ++)
{
val = 10.0 * val + (s[i] - '0');
power *=10.0;
}
return sign * val / power;
}
int main()
{
char s[10] = {' ',' ','-','5','3','.','7','0','2','\0'};
printf("%f",atof(s));
return 0;
}
atof函数的编写
最新推荐文章于 2024-04-28 21:03:18 发布