您的位置:首页 > 其它

写一个double my_atof(char *str)函数,将一个数字字符串转换成对应的浮点数

2015-03-23 20:58 344 查看
#include <stdio.h>
double my_atof(char *str)
{
int flag = 1;
double sum = 0;
int count = 0;

if(*str == '-')
{
flag = -1;
str++;
}

while(*str != '\0')
{
if(*str == '.')
{
count++;
str++;

}

count *= 10;//小数点移动的位次

sum = sum * 10 + (*str -'0');

str++;

}

sum = sum / count;//将小数点移回原位
return flag * sum;
}

int main()
{
char *p = "-12.345678";
printf("%f\n",my_atof(p));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐