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;}