MFC如何从文本框中获取数字

我只是想做一个简单的加法运算软件,三个文本框的ID依次为jia1,jia2,he。
void CMainDlg::OnButton1()
{
// TODO: Add your control notification handler code here
double j1;
GetDlgItemText(jia1,j1);
}
当我的代码是这样时,编译报错,神马的逼着我用CString。
然后我:
void CMainDlg::OnButton1()
{
// TODO: Add your control notification handler code here
CString j1_s;
GetDlgItemText(jia1,j1_s);
double j1;
j1=double(j1_s);
}
报错:'type cast' : cannot convert from 'class CString' to 'double'
神马的又不让我转double。
这下头大了,难道要我把j1_s输出到数据库,再用j1读进来不成??
请求高手帮忙,把数字从文本框里取出来。求完整代码

为三个editbox分别添加变量,操作是右键单击editbox,classwizard,member variable,左边选中要添加的控件,右边单击add,类型为double,变量名为m_jia1 可以自己换
后面两个同理,假设命名为 m_jia2 , m_he
然后代码换成
if(UpdateData(true))
{
m_he=m_jia1+m_jia2;
}
这样m_he就是和了
解释一下吧UpdateData(true) 这条语句的功能是把编辑框的内容输入到绑定的变量中 有返回值,当变量全部合法返回真,否则返回假
也就是执行完这句editbox中的内容已经赋值给各自绑定的变量中了
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-08-08
给这个文本框在向导里关联一个CString类型的变量,如m_str;
m_str中存放的就是该文本框中的内容,但用之前要加一个UpdateData(TRUE);
参考如下:
CString str;
((CEdit *)GetDlgItem(IDC_EDIT1))->GetWindowText(str);//获得
MessageBox(str);//显示
//IDC_EDIT1是编辑框的ID,右击编辑框,选择属性就可以看见了。
第2个回答  2012-07-21
void CMainDlg::OnButton1()
{
// TODO: Add your control notification handler code here
CString j1_s;
GetDlgItemText(jia1,j1_s);
double j1;
j1=atof(j1_s);
}本回答被提问者采纳
第3个回答  2012-07-17
CString j1_s;
GetDlgItemText(jia1, j1_s);
double j1 = _ttof((LPCTSTR)j1_s);

CString j2_s;
GetDlgItemTet(jia2, j2_s);
double j2 = _ttof((LPCTSTR)j2_s);

CString result_s;
result_s.Format(_T("%f"), j1+j2);
SetDlgItemText(he, result_s);追问

error C2065: '_ttof' : undeclared identifier
没有这个函数啊。。。

追答

试试_tstof呢?

追问

也不行啊,我用的是VC++6.0,网上说就j1=atof(jia1)可以,我试了下,还真行了。。。辛苦你了哈

mfc怎么在文本框输入时候就能获取到数据
首先为文本框添加响应事件 EN_CHANGE,再为文本框关联一个变量,在EN_CHANGE的响应代码中添加如下代码就行了,UpdateData(); 这样就会当没改变下就会更新下那个已经关联的变量了。从而可以在代码中使用了。

MFC的对话框,怎样从文本框读入数据?
你说的文本框应该是编辑框吧 从编辑框输入数据后,需要调用UpdateData(TURE);进行数据交换,这样用GetDlgItem()就可以获取内容了 如果要写入数据,先SetDlgItem(),之后再调用UpdateData(FLASE);进行数据交换这样才回把数据写入到编辑框 UpdateData();是对话框的更新函数 TURE的时候读取数据,FLASE的时候...

MFC如何从文本框中获取数字
为三个editbox分别添加变量,操作是右键单击editbox,classwizard,member variable,左边选中要添加的控件,右边单击add,类型为double,变量名为m_jia1 可以自己换 后面两个同理,假设命名为 m_jia2 , m_he 然后代码换成 if(UpdateData(true)){ m_he=m_jia1+m_jia2;} 这样m_he就是和了 解...

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

MFC 中如何获得对话框中控件的ID值
在设计窗口,右击对话框设计窗口中要知道ID的控件,在弹出的菜单中选Properties,在弹出的属性框中的General选项中的ID:项右边的文本框中的内容就是了。

C++mfc文字框读和写数据的命令是神马?要有介绍和例子。
MFC中读写文本框:(假设你的文本框ID是IDC_EDIT)读:((CEdit*)GetDlgItem(IDC_EDIT))->GetWindowTextW(\/* 这里面是你要把文本保存在哪里的缓冲区, 类型是CStringT *\/);写:((CEdit*)GetDlgItem(IDC_EDIT))->SetWindowTextW(\/* 这里面是你要写的文本,类型是const CStringT,或者一串静态文本...

MFC里怎么在一个文本框里显示一个变量值?
直接将变量值转换成CString,在现实到静态文本框。CString str;str.Format("%f", a);SetDlgItemText( IDC_STATIC1, str);

用vc的mfc编程怎么用编辑框输入值并用另一个编辑框输出内容
void CMy11Dlg::OnButton1(){ \/\/ TODO: Add your control notification handler code here CString str;GetDlgItemText(IDC_EDIT1,str); \/\/用GetDlgItemText(文本框ID,字符串),将文本框内容存放到字符串中.SetDlgItemText(IDC_EDIT2,str);\/\/用SetDlgItemText(文本框ID,字符串),将文本框的内容...

mfc的计算器如何实现键盘输入数字
不知道你的具体问题是什么。可以直接使用Edit box资源设置文本框,然后试试用GetDlgItemText这个函数提取输入的内容,MSDN可以查询它的详细用法,如果要将输入的字符串转成数字,再试试使用atoi函数。

MFC登录框问题
GetDlgItem(IDC_EDIT1)->GetWindowText(strValue);IDC_EDIT1是你文本框的ID,这能得到字符串形式的值,你再把它转化一下就能得到其整数值。还有一种方法,能自动帮你检测输入值的合法性,并能保证输入值的范围,但不太好描述,并且VC的不同版本操作也会有些差异。=== 数组不能动态定义大小,必须编...

相似回答