//编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)
//例如:"12.34" 返回12.34
#include<stdio.h>
#include<math.h>
#include<string.h>
double my_atof(char *str)
{
int k=1;
int count=0;
int flag=0;
double Number=0.0;
while(*str!='\0')
{
if(*str=='-')
{
k=(-1)*k;
}
else if(*str>'0' && *str<'9')
{
if(flag==1)
{
count++;
}
Number=10.0*Number+(*str)-'0';
}
else if(*str=='.')
{
flag=1;
}
str++;
}
Number=k*Number*pow(0.1,count);
return Number;
}
void main()
{
unsigned int i;
int n=0;
int fag=0;
char *str="-2.42";
double count=0.0;
count=my_atof(str);
printf("count=%f\n",count);
}
将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数
最新推荐文章于 2020-06-19 22:16:20 发布