如果收到一个字符串型的浮点数,比如“1234.56”,如何变成浮点数。
double atof(chars[])
{
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;
}
returnsign*val/power;
}