获取EditCtrl中数字的方法

本文介绍了在MFC中获取EditCtrl控件中数字的两种方法:通过CEdit::GetWindowText()结合atoi转换,以及直接使用GetDlgItemInt()函数。详细解释了每个方法的使用步骤和注意事项,包括错误检查和数值类型的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法一:

使用CEdit::GetWindowText()函数先获取字符串,然后使用atoi函数转换为整型,下面以计算俩个编辑框数字之和并显示到结果编辑框上的函数内容为例:

int num1,num2,result;

char ch1[10],ch2[10],ch3[10];
GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,10);
GetDlgItem(IDC_EDIT2)->GetWindowText(ch2,10);
num1=atoi(ch1);
num2=atoi(ch2);
result=num1+num2;

itoa(result,ch3,10);//将计算结果转换为字符,十进制

GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);

方法二:

使用UINT GetDlgItemInt(int nID,BOOL *lpTrans=NULL,BOOL bSigned=TRUE)函数,该函数功能为获取控件中里面字符串并转换成int类型返回。
参数1:控件ID,
参数2:接收错误信息

可能出现的错误信息有:

1.ID无效,并且超过指定大小,比如说:ID为12345677,这个就不行.
2.输入不能解析为一个int类型的,比如输入:"bvbvbvbv","3.5666",
当然后面可以解析为一个浮点型,在这里取得的值为3,但是还是会有错误信息
如果不指定第二个参数,就不会获得任何错误信息,这个参数很有用的,对输入的判断是否可以解析为int类型或者是否有效,很有用的,我们经常有这个参数来判断用户的输入是否合法

参数3:默认为true,主要是针对"-123",像这样的字符,它可以把前面的"-"解析为负号,那么就是标准的int类型了,如

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值