偶在对话框中添加了一个普通编辑框(风格只选了无边框),映射变量为浮点数.范围是(0.00001-10000).没有在对话框或者其它地方重载输入消息和改变啥风格,为什么偶输入浮点的小数点后数字出现在小数点前,小数点不见了.再输小数点后面的数字却跑在小数点前去了.如偶输22.3变成了322.谢谢啰 急啊

解决方案 »

  1.   

    你可以利用:float f1;
    CString str;
    str.Format("%f",f1);
    GetDlgItem(IDC_EDIT)->SetWindowText(str);
    GetDlgItem()->GetWindowText(str);
    f1 = atof(str);
      

  2.   

    为什么我用了是对的哩
    再重新试试看。。
    用楼上的方法检测一下
    UpdateData(true);
    float f1;//假设这个是你对应的变量
    CString str;
    str.Format("%f",f1);
    AfxmessageBox(str);
    看看问题出在那里!
      

  3.   

    楼上的大侠啊 偶在一个对话框里用了很多编辑框 有些正确但是有些就出现这个问题 同样的风格和变量映射机制 搞的偶没语言了 是不是MFC的变量映射机制有啥BUG啊 不懂
      

  4.   

    偶明明输的是22.3,输小数点时没显示出小数点继续输自动显示成了322 用你们的方法还是是322,郁闷ing~~
      

  5.   

    UpdateData(true);
    我用了都行啊!