老兄,你的思路我已经知道的差不多了,现在的问题是:
char *number,s[8];
float fData=0.0;
float fPart=0.1;
cout<<"Input String:";
cin>>s;
number=s;
while((*number)!='\0')
{
if((*number)=='-')
{
number++;
}
else
{
if((*number)=='.')
{
number++;
fData += ((*number)-'0')*fPart;
fPart *= 0.1;
}
else
{
fData=fData*10+ (*number)-'0';//采用覆盖的方法计算
number++;
}
}
}
cout<<fData<<endl;
如果我输入的是:12.3
输出却是126.
能告诉我为什么吗?