小弟做了一个简单的算术
得到一个double变量
可我不知道怎么把这个变量赋值给指定的文本框,这个文本框已经关联了一个double型变量
但我如果用UpdateData();
double money_water=(thismonth_water-precedingmonth_water)*fee_water;

//UpdateData(FALSE);
我在其他的文本框中得到的值就不可能是double型 我只能将//UpdateData(FALSE);
这样我从其他数据文本框中能得到double型的数,但不能将结果写进写进去各们帮帮忙

解决方案 »

  1.   

    我在其他的文本框中得到的值就不可能是double型 
    ===为什么呢?
      

  2.   

    int CNewInfo::OnCreate(LPCREATESTRUCT lpCreateStruct)
    {
    if (CDialog::OnCreate(lpCreateStruct) == -1)
    return -1; // TODO:  在此添加您专用的创建代码
    SetTimer(1,100,NULL); return 0;
    }void CNewInfo::OnTimer(UINT_PTR nIDEvent)
    {
    UpdateData();
    double temp;
    temp=(thismonth_water-precedingmonth_water)*fee_water;
    //上面三个全是double型的,全部分别关联了三个文本框,
    //UpdateData(FALSE);//如果我用了UPDATEDATA(FALSE)那么我在文本框中不能输入小数点,如果没有我就能输入小数点。
    }
      

  3.   

    就算没有//UpdateData(FALSE);//我得到的thismonth_water-precedingmonth_water)*fee_water三个值也有误差
    文本框我关联了一个double型变量
    比如我输入的是11.1调试得到的是11.0999999999999
      

  4.   

    UpdateData(TRUE);是更新绑定的变量值
    UpdateData(FALSE);是更新控件的显示  
      

  5.   

    加个按钮,按钮的click事件代码中写。
    // 取第一个乘数
    CString strText1;
    double dValue1;
    GetDlgItemText(IDC_EDIT1, strText1);
    dValue1 = atof(strText1);// 同理取第二个乘数dValue2// 计算
    double dResult;
    dResult = dValue1 * dValue2;
    CString strResult;
    strResult.Format("%.2f", dResult);   // 这里设置显示格式,即小数点后保留几位
    SetDlgItemText(IDC_EDIT_RESULT, strResult);为什么要用OnTimer,如果想跟随用户的更改实时计算的话,可以对EN_CHANGE事件进行响应啊。