double CMyArray::StrToNum(CString nStrNum)
{
CString str;
nStrNum.TrimLeft();
nStrNum.TrimRight();
if(nStrNum.GetLength()==0)
{
str.Format("%s is not a number!",nStrNum);
AfxMessageBox(str);
return 0;
}
int i,point_at;
double num_left,num_right,num;
CString nStr,str_flag,str_abs,str_left,str_right; str_flag=nStrNum.Left(1);
if(str_flag=="-")
{
str_abs=nStrNum.Right(nStrNum.GetLength()-1);
}
else
{
str_flag="";
str_abs=nStrNum;
} point_at=str_abs.Find(".",0);
if(point_at==-1)
{
str_left=str_abs;
str_right="";
}
else
{
str_left=str_abs.Left(point_at);//小数点左边
str_right=str_abs.Right(str_abs.GetLength()-point_at-1);//小数点右边
} num_left=0.0;
for(i=0;i<str_left.GetLength();i++)
{
nStr=str_left.GetAt(i);
if(nStr>='0' && nStr<='9')
num_left=num_left*10+atoi(nStr);
else
{
str.Format("%s is not a number!",nStrNum);
AfxMessageBox(str);
return 0;
}
}
num_right=0.0;
for(i=0;i<str_right.GetLength();i++)
{
nStr=str_right.GetAt(i);
if(nStr>='0' && nStr<='9')
num_right=num_right*10+atoi(nStr);
else
{
str.Format("%s is not a number!",nStrNum);
AfxMessageBox(str);
return 0;
}
}
for(i=0;i<str_right.GetLength();i++)
num_right=num_right*0.1;
num=num_left+num_right;
if(str_flag=="-")//负数
num=num*(-1.0); return num;}
{
CString str;
nStrNum.TrimLeft();
nStrNum.TrimRight();
if(nStrNum.GetLength()==0)
{
str.Format("%s is not a number!",nStrNum);
AfxMessageBox(str);
return 0;
}
int i,point_at;
double num_left,num_right,num;
CString nStr,str_flag,str_abs,str_left,str_right; str_flag=nStrNum.Left(1);
if(str_flag=="-")
{
str_abs=nStrNum.Right(nStrNum.GetLength()-1);
}
else
{
str_flag="";
str_abs=nStrNum;
} point_at=str_abs.Find(".",0);
if(point_at==-1)
{
str_left=str_abs;
str_right="";
}
else
{
str_left=str_abs.Left(point_at);//小数点左边
str_right=str_abs.Right(str_abs.GetLength()-point_at-1);//小数点右边
} num_left=0.0;
for(i=0;i<str_left.GetLength();i++)
{
nStr=str_left.GetAt(i);
if(nStr>='0' && nStr<='9')
num_left=num_left*10+atoi(nStr);
else
{
str.Format("%s is not a number!",nStrNum);
AfxMessageBox(str);
return 0;
}
}
num_right=0.0;
for(i=0;i<str_right.GetLength();i++)
{
nStr=str_right.GetAt(i);
if(nStr>='0' && nStr<='9')
num_right=num_right*10+atoi(nStr);
else
{
str.Format("%s is not a number!",nStrNum);
AfxMessageBox(str);
return 0;
}
}
for(i=0;i<str_right.GetLength();i++)
num_right=num_right*0.1;
num=num_left+num_right;
if(str_flag=="-")//负数
num=num*(-1.0); return num;}
const char *string
);