C语言:实数字符串转换成实数

发表于

#include<stdio.h>
#include<ctype.h>
double atof(char *s)
{
double val,power;
int i,sign;
for(i=0;isspace(s);i++);
sign=(s=='-'?-1:1);
if(s=='+' || s=='-')
i++;
for(val=0.0;isdigit(s);i++)
val=10.0*val+(s-'0');
if(s=='.') i++;
for(power=1.0;isdigit(s);i++){
val=10.0*val+(s-'0');
power=power*10;
}
return sign*val/power;
}
int main(int argc,char *argv[])
{
printf("%f\n",atof("-1235.455"));
return 0;
}

鱼(游客)发表评论于2005-12-17 11:38:09

谢谢师兄,你的程序帮我解决了个大难题,谢谢