MFC中edit control取值,经过计算后,在赋值给另一个edit control
第一种方法:
double result,a;
CString str,str1;
//取值
CEdit* pBoxOne;
pBoxOne = (CEdit*) GetDlgItem(IDC_EDIT1);
pBoxOne-> GetWindowText(str1);
//将CString转换double
a = _wtof(str1.GetBuffer(0)); //GetBuffer(0)返回的就是缓冲区的头,配合使用ReleaseBuffer();
//在vs2005中_stscanf_s(str1,_T( "%g "),&a);转换结果不对,_stscanf_s(str1,_T( "%lf "),&a); 结果正确,但是小数位数多
result = 2*a;
//将double转换成CString
str.Format(_T("%g"),result);
CEdit* pBoxTwo;
pBoxTwo = (CEdit*) GetDlgItem(IDC_EDIT2);