#include<stdio.h>
double my_atoi(char *str) //可实现任意字符串的操作(也许还有部分情况未想到,望评论。)
{
double i=0.0;
double p=1.0;
int a=1;
while(*str!='\0') //对整数部分进行逐个判断。
{
if(*str=='-')
{
a= -1;
str++;
}
if(*str=='.') //检测到 . 结束整数部分的判断。
{
str++;
break;
}
if(*str==' ')
{
str++;
continue;
}
i=i*10+(*str-'0');
str++;
}
while(*str!='\0') //对小数部分进行逐个判断。
{
if(*str==' ')
{
str++;
continue;
}
p=p*0.1;
i=i+(*str-'0')*p;
str++;
}
i=i*a;
return i;
}
int main()
{
double ret=0.0;
char a[80]=" -1 2 . 35 7 ";
ret=my_atoi(a);
printf("%f\n",ret);
return 0;
}
哦对了 没有添加 对字符 数字的筛选
输出字符串的 数字部分
最新推荐文章于 2022-02-06 16:52:46 发布