您的位置:首页 > 其它

将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)

2015-03-11 18:17 190 查看
#include<iostream.h>

float my_atof(char *str)

{

int len = 0,index = -1;

float sum = 0,num = 10;

if(*str == '-')

{

cout<<'-';

str++;

for(;'\0' != (*str);str++,len++)

{

if(*str == '.')

{

index = len;

}

if(index!=-1)

{

num/=10;

}

}

str -= 1;

while(len--)

{

if(*str != '.')

{

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

}

if(*str-- == '.')

{

num/=10;

}

num *= 10;

}

}

else

{

for(;'\0' != (*str);str++,len++)

{

if(*str == '.')

{

index = len;

}

if(index!=-1)

{

num/=10;

}

}

str -= 1;

while(len--)

{

if(*str != '.')

{

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

}

if(*str-- == '.')

{

num/=10;

}

num *= 10;

}

}

return sum;

}

int main()

{

char *s = "-6.2549";

char *r = "489.54";

cout<<my_atof(s)<<endl;

cout<<my_atof(r)<<endl;

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐