#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));
}
写一个double my_atof(char *str)函数,将一个数字字符串转换成对应的浮点数
最新推荐文章于 2023-08-24 19:11:01 发布