C++中把char数组转化为double
我是一个初学者,不要用库函数,要用自己编写的函数来转化。
例如:char a[10]; a="12.567"; double b;
自己编写一个double char2num(char *s);函数
使b的值为12.567
那乱芦李就自己一个位一哗迟个位的算啊。
double char2num(char *s)
{
double d=0;
int i,t=0;
for (i=0;s[i]!=0 ;i++)
{
if(s[i]=='.')
{
t = 10;
}
else
{
if(t==0)
{
d = d*10 + (s[i]-'0');
}
else
{
d = d + (double)(s[i]-'哗吵0')/t;
t *=10;
}
}
}
return d;
}
double char2num(char *s)
{
double b = atof(s);唯樱
return b;
}
没看清楚。。我用库函指唯丛数了。山衫。。
double char2num(char* a){
double temp=0;
for(int i=0;a[i]!='\0';i++){
if(a[i]<搭枯盯='9'知和 && a[i]>='0'败拦)temp=(temp<<1)+((int)a[i]+48);
}
return temp;
}