现在就是当 左边数字 加减 要变为 0 时  右边就会乱码 例如我现在点 敏捷 的减号就如下图了。左边的参数我都定义的是int  右边的全是float各位帮忙给看看
加减符号的程序代码如下void CAddDlg::OnBnClickedButtonjia3()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(true);
m_minjie +=1;

m_wufang +=0.4;
m_mofang +=0.4;
m_lan +=0.2;
m_gongsu +=0.3;
m_baoji +=0.2;
m_shanbi +=0.2; UpdateData(false);
}void CAddDlg::OnBnClickedButtonjian3()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(true);
m_minjie-=1;

m_wufang -=0.4;
m_mofang -=0.4;
m_lan   -=0.2;
m_gongsu -=0.3;
m_baoji  -=0.2;
m_shanbi  -=0.2;

UpdateData(false);
}

解决方案 »

  1.   

    难道是因为float接近0时打印的是指数,因为float的表示方法是非精确的,到了0 他可能不认为是0,而是
    一个很小的数目,并用科学计数法表示出来你可以这样 
     UpdateData(true);
        m_minjie +=1;
        
        m_wufang +=0.4;  if( fabs( m_wufang) <= 0.000001 )  m_wufang  = 0;
        m_mofang +=0.4;   ....
        m_lan +=0.2;
        m_gongsu +=0.3;
        m_baoji +=0.2;
        m_shanbi +=0.2;
      

  2.   


    我写在后面的确可以  但是写成函数再调用就不对 我的函数是 float CAddDlg::CorrectFloat(float Para)
    {
    if( fabs( Para) <= 0.000001 )
    {
    Para = 0;
    }
    return Para;
    }