if (DotCliked)
{
lastPrecisionNum *= 0.1;
//得出小数数值,并判断是否有异常溢出
checked
{
INumTemp = INumTemp + long.Parse(strClickNum) * lastPrecisionNum; //将获取到的按钮string型转化为long型
}
}
else
{
checked
{
INumTemp = INumTemp * 10 + long.Parse(strClickNum);
}
}
txtOutPut.Text += INumTemp.ToString();
strOutput += strClickNum;
txtOutPut.Text = strOutput;
}
catch (Exception)
{
MessageBox.Show("数据溢出");
}
}
[](https://gitee.com/vip204888/java-p7)操作符按钮点击事件函数
==============================================================================
该函数与集中处理触发事件按钮函数一样,也是我们自己定义的函数,该函数的作用是接收加减乘除等控件键入时的操作,该函数的编写思想是,当输入操作符时,说明上一个数据已经输入完成了。
这个时候我们需要将INumTemp的值赋给INumFormer表示这是我们键入的第一个数据,然后将INumTemp赋值为0,方便输入第二个数值时使用,同时将定义输出的变量在原来的基础上继续增加,并通过文本输出框输出此时的信息。
之后将小数点判断变量和小数点位数变量赋值为初值,方便带二个数据的输入。具体的函数实现代码如下所示:
//操作符按钮点击事件
private void Opraters_Click(object sender, EventArgs e)
{
string strClickop = ((Button)sender).Text; //获取按钮数值
cOperation = strClickop;
INumFormer = INumTemp;
INumTemp = 0;
strOutput += cOperation.ToString();
txtOutPut.Text = strOutput;
DotCliked = false;
lastPrecisionNum = 1;
}
[](https://gitee.com/vip204888/java-p7)等号按钮触发事件函数
=============================================================================
顾名思义,该函数的作用就是将键入的结果进行输出,并且该函数是在双击等号控件是自动生成的函数,无需我们再自己定义,当我们点击等号按钮时会触发该函数。
等号按钮触发函数的编写思想是:使用switch语句判断键入的操作符类型,然后根据键入不同的操作符对第一次和第二次键入的数值INumFormer 和 INumTemp;进行相应的加减乘除运算,并将结果赋值给IResult,并通过文本输出框输出运算结果。
接下来有两种操作方式:
一种是重新键入两个数进行运算,这样需要将结果输出以后,将原来定义的所有的变量赋予初值即可,
另一种是得出运算结果之后,继续点击操作符进行连环运算,这样需要在将运算结果输出之后,将运算结果赋值给INumFormer 和 INumTemp,其目的是为了存储运算结果继续运算。之后再将之前定义的所有变量赋予初值。
等号按钮触发函数的具体实现代码如下:
//等号按钮触发函数
private void button_enter_Click(object sender, EventArgs e)
{
try
{
switch (cOperation)
{
case "+":
{
checked //chexked关键字检查是否发生异常溢出
{
IResult = INumFormer + INumTemp;
}
break;
}
case "-":
{
checked //chexked关键字检查是否发生异常溢出
{
IResult = INumFormer - INumTemp;
}
break;
}
case "*":
{
checked //chexked关键字检查是否发生异常溢出
{
IResult = INumFormer * INumTemp;
}
break;
}
case "/":
{
checked //chexked关键字检查是否发生异常溢出
{
IResult = INumFormer / INumTemp;
}
break;
}
case "x2":
{
checked //chexked关键字检查是否发生异常溢出
{
IResult = INumFormer * INumFormer;
}
break;
}
case "x3":
{
checked //chexked关键字检查是否发生异常溢出
{
IResult = INumFormer * INumFormer * INumFormer;
}
break;
}
}
}
catch(Exception)
{
//设置错误溢出信息提示框
MessageBox.Show("计算错误溢出!");
throw;
}
txtOutPut.Text = IResult.ToString();
txtOutPut.Text += "你猜对不对(๑•ᴗ•๑)";
strOutput = IResult.ToString();
INumFormer = IResult;
INumTemp = IResult;
IResult = 0;
cOperation = "";
DotCliked = false;
lastPrecisionNum = 1;
}
[](https://gitee.com/vip204888/java-p7)界面控件键入设置函数
=============================================================================
最后也是最关键的一步,就是在用户交互界面的函数中进行控件的键入设置。
### 最后
**由于篇幅限制,小编在此截出几张知识讲解的图解,有需要的程序猿(媛)可以点赞后[戳这里免费领取全部资料](https://gitee.com/vip204888/java-p7)获取哦**
![P8级大佬整理在Github上45K+star手册,吃透消化,面试跳槽不心慌](https://img-blog.csdnimg.cn/img_convert/3b9d24d1e29d0d9f9ec309bc0b7bb297.png)
![P8级大佬整理在Github上45K+star手册,吃透消化,面试跳槽不心慌](https://img-blog.csdnimg.cn/img_convert/ceaaf76521c6cf3733c4376f1c3a695a.png)
![P8级大佬整理在Github上45K+star手册,吃透消化,面试跳槽不心慌](https://img-blog.csdnimg.cn/img_convert/44f208f590899470c07da60bcc2284ad.png)
![P8级大佬整理在Github上45K+star手册,吃透消化,面试跳槽不心慌](https://img-blog.csdnimg.cn/img_convert/55dbeb4e466a135f527d83d952424191.png)
![P8级大佬整理在Github上45K+star手册,吃透消化,面试跳槽不心慌](https://img-blog.csdnimg.cn/img_convert/14e2d071be47079282caa55bc7abb0b2.png)
此截出几张知识讲解的图解,有需要的程序猿(媛)可以点赞后[戳这里免费领取全部资料](https://gitee.com/vip204888/java-p7)获取哦**
[外链图片转存中...(img-t5l4JI0h-1628338024126)]
[外链图片转存中...(img-gJgQk3DJ-1628338024127)]
[外链图片转存中...(img-BH6eei8L-1628338024128)]
[外链图片转存中...(img-B5dsoac1-1628338024130)]
[外链图片转存中...(img-0VZ7qEAi-1628338024131)]