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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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中的内容已经赋值给各自绑定的变量中了
参考技术A 给这个文本框在向导里关联一个CString类型的变量,如m_str;
m_str中存放的就是该文本框中的内容,但用之前要加一个UpdateData(TRUE);
参考如下:
CString str;
((CEdit *)GetDlgItem(IDC_EDIT1))->GetWindowText(str);//获得
MessageBox(str);//显示
//IDC_EDIT1是编辑框的ID,右击编辑框,选择属性就可以看见了。
参考技术B void CMainDlg::OnButton1()

// TODO: Add your control notification handler code here
CString j1_s;
GetDlgItemText(jia1,j1_s);
double j1;
j1=atof(j1_s);
本回答被提问者采纳
参考技术C 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)可以,我试了下,还真行了。。。辛苦你了哈

如何从文本框中获取值并将其分配给 Xcode 中的整数变量?

【中文标题】如何从文本框中获取值并将其分配给 Xcode 中的整数变量?【英文标题】:How can I take values from textbox and assign it to integer variable in Xcode? 【发布时间】:2010-07-11 18:16:55 【问题描述】:

如何将文本框的值转换为数字? 这就是我正在做的事情:

int el = electric.text;
int wb = waterbill.text;
int inet = internet.text;

【问题讨论】:

【参考方案1】:

试试这个:

int el = [electric integerValue];
int wb = [waterbill integerValue];
int inet = [internet integerValue];

【讨论】:

【参考方案2】:

试试这个:

NsInteger el = [electric.text integerValue];
NsInteger wb = [waterbill.text integerValue];
NsInteger inet = [internet.text integerValue];

【讨论】:

以上是关于MFC如何从文本框中获取数字的主要内容,如果未能解决你的问题,请参考以下文章

c# 将从单个文本框中获取的多个值分配给标签

如何限制在 MFC 的文本框中键入的字符数?

如何从文本框中获取值并将其分配给 Xcode 中的整数变量?

如何从文本框中获取特定文本并传输到另一个文本框?

MFC中如何给编辑框设置文本内容?

mfc如何将一个编辑框中的数字追加到另一个编辑框,不是覆盖,而是接在原来的后面显示?