MFC中一个Edit Control中输入浮点数,如何获取并在程序内计算。GetDlgItemInt只能是整形,要小数点怎?

如题所述

我给你写个例子:
CString num1,num2;
char num[256]={'\0'};
float num3=0;
GetDlgItemText(IDC_EDIT_NUM1,num1);//获取输入的浮点数1
GetDlgItemText(IDC_EDIT_NUM2,num2);//获取输入的浮点数2
num3 = atof(num1)+atof(num2);//将字符串转换为浮点数并求和
sprintf(num,"%f",num3);//将浮点数转换为字符转
SetDlgItemText(IDC_EDIT_NUM3,num);//显示运算结果

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-27
不要动不动就用GetDlgItem,可以给空间绑定变量,比如 m_fltVal
执行UpdateData(true);控件里的数字就赋值给m_fltVal了,其他可以绑定各种类型的本回答被网友采纳
第2个回答  2013-04-27
CEdit *pEdit = (CEdit *)GetDlgItem(IDC_EDIT); //你的EditControl的ID
CString str;
pEdit->GetWindowsText(str);
float f = atof(str); //这就是你想要的f了
第3个回答  2013-04-27
用浮点数变量关联编辑框,使用UpdateData(TRUE)就可以获取。
第4个回答  2013-04-27
给控件添加一个变量浮点型的m_num1,UpdateData(true) 将控件中你填入的数据 传到变量m_num1,然后你直接拿m_num1进行计算

...Control中输入浮点数,如何获取并在程序内计算。GetDlgItemInt只能是...
我给你写个例子: CString num1,num2; char num[256]={'\\0'}; float num3=0; GetDlgItemText(IDC_EDIT_NUM1,num1);\/\/获取输入的浮点数1 GetDlgItemText(IDC_EDIT_NUM2,num2);\/\/获取输入的浮点数2 num3 = atof(num1)+atof(num2);\/\/将字符串转换为浮点数并求和 ...

...浮点值是人为输入的,有没有专门的像GetDlgItemInt能得整型的函数...
可以通过类向导给控件关联一个double型的变量,同事可以设置一个最大值和最小值给变量。然后调用UpdateData(FALSE)用变量的值初始化对话框控件,用UpdateData(TRUE)把对话框控件当前的值获取到关联的变量。如果设置了范围,在获取值的时候会检查。写代码的方式也可关联,方式是在DoDataExchange函数中添加类似...

...有多个editcontrol,如何获取多个editcontrol中的值,请具体讲一下...
也许你参数设置不对,试试这个UINT c = ::GetDlgItemInt(m_hWnd, IDC_EDIT1, NULL, NULL);就两个参数不至于弄错吧。editcontrol里面输入整数,别输其他的,输入字母会返回0。至于double、float这些带小数点的就麻烦一点了,先用GetDlgItemText读入字符串,再转化分析 ...

MFC:访问对话框的七种方法
在MFC中,要访问对话框中的控件,有多种方法可供选择。首先,从创建一个MFC对话框程序开始,包含控件如文本框(Text)和按钮(Button),构建一个基础的加法器界面。1. GetDlgItem 方法 利用函数如 GetDlgItem(id) 获取控件,GetWindowText() 获取其文字内容,通过 _ttoi() 和 _itot() 转换为整数操作。

用Visual C++编写一个SDI应用程序,按以下要求编程:
1.新建MFC工程,命名MySdi,选择单文档,完成。2.插入(insert)->资源(resources),选择Dialog,点击new(新建)。 \/\/这步完成新建一个对话框资源 3.然后就是编辑这个资源了,画两个静态文本框提示x和y,画两个编辑框用来输入坐标的。4.在对话框最上面点右键点击类向导,为资源添加一个新类,命名...

相似回答