网上摘录的,很有用:
CString ---->double
首先你要确定你的工程字符集用的是多字节而不是unicode才能用下面的方法, 因为vs2008/2010默认使用的是unicode编码. 修改方式为: 在解决方案窗口右键工程名-->属性->General项(我用的是英文的)-->字符集, 选择多字节那个就行了
CString str;
转成int: ;int a = atoi(str.GetBuffer());
转成double: double b = atof(str.GetBuffer());
// 如果你坚持要用unicode的话, 你就用下面两个函数:
转成int: ;int a = _wtoi(str.GetBuffer());
转成double: double b = _wtof(str.GetBuffer());
double--------->CString
你是不是想显示在edit里面的结果是0.835209863832?
如果这样的话可以double a=8.35209863832E-1;
CString b;
b.Format("%.12f",a);//显示到小数点后12位,不够的话再加大一点D
b.Format(_T("%.12f"),a);//显示到小数点后12位,不够的话再加大一点D
否则 一般"%lf"只显示6位