#include<iostream>
#include<string>
#include<assert.h>
using namespace std;
double my_atof(string s)
{
assert(s.size()!=NULL);
int i=0;
double dou_num=0;
double t=10;
bool fh_=false;
if(s[i]=='-')
{
fh_=true;
i++;
}
while(s[i]!='\0')
{
if(s[i]=='.')
{
i++;
break;
}
dou_num=dou_num*10+s[i]-'0';
i++;
}
while(s[i]!='\0')
{
dou_num=dou_num+(s[i]-'0')/t;
t*=10;
i++;
}
if(fh_)
return -1.0*dou_num;
else
return dou_num;
}
int main()
{
string s;
cin>>s;
double sum;
sum=my_atof(s);
cout<<sum<<endl;
system("pause");
return 0;
}
C++实现atof()--string to double
最新推荐文章于 2023-06-03 16:07:18 发布