C#实现简单加减乘除计算器

所属分类: 软件编程 / C#教程 阅读数: 109
收藏 0 赞 0 分享

第一次学习C#,做了个简单的加减乘除计算器,只能实现两个因数的运算。

主要是练习下C#编程,和以前用过的VB差不多。与VB6不同的是,C#代码区分大小写。

Windows窗口程序主要也是由一些控件组成,响应响应的事件(event),实现具体的功能。

1.效果图如下所示

2.代码如下所示

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Text; 
using System.Windows.Forms; 
 
namespace WindowsApplication1 
{ 
 public partial class Main : Form 
 { 
  public Main() 
  { 
   InitializeComponent(); 
  } 
 
  private void Main_Load(object sender, EventArgs e) 
  { 
 
  } 
 
  private void txtInshu1_TextChanged(object sender, EventArgs e) 
  { 
 
  } 
 
  private void txtInshu1_KeyPress(object sender, KeyPressEventArgs e) 
  { 
   OnlyEnterNumber(sender, e); 
  } 
 
  //// <summary> 
  /// 只能输入数字(含负号小数点) 
  /// </summary> 
  /// <param name="sender"></param> 
  /// <param name="e"></param> 
  public static void OnlyEnterNumber(object sender, KeyPressEventArgs e) 
  { 
   if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != 13 && e.KeyChar != 45 && e.KeyChar != 46) 
   { 
    e.Handled = true; 
   } 
 
   // 输入为负号时,只能输入一次且只能输入一次 
   if (e.KeyChar == 45 && (((TextBox)sender).SelectionStart != 0 || ((TextBox)sender).Text.IndexOf("-") >= 0)) e.Handled = true; 
   if (e.KeyChar == 46 && ((TextBox)sender).Text.IndexOf(".") >= 0) e.Handled = true; 
  } 
 
 
  /* 
   * 参数:d表示要四舍五入的数;i表示要保留的小数点后位数。 
   * 正负数都四舍五入,适合数据统计的显示 
   */ 
  double Round(double d, int i) 
  { 
   if (d >= 0) 
   { 
    d += 5 * Math.Pow(10, -(i + 1)); 
   } 
   else 
   { 
    d += -5 * Math.Pow(10, -(i + 1)); 
   } 
   string str = d.ToString(); 
   string[] strs = str.Split('.'); 
   int idot = str.IndexOf('.'); 
   string prestr = strs[0]; 
   string poststr = strs[1]; 
   if (poststr.Length > i) 
   { 
    poststr = str.Substring(idot + 1, i); 
   } 
   string strd = prestr + "." + poststr; 
   d = Double.Parse(strd); 
   return d; 
  } 
 
  private void txtInshu2_TextChanged(object sender, EventArgs e) 
  { 
 
  } 
 
  private void txtInshu2_KeyPress_1(object sender, KeyPressEventArgs e) 
  { 
   OnlyEnterNumber(sender, e); 
  } 
 
  private void btnJisuan_Click(object sender, EventArgs e) 
  { 
   if (txtInshu1.Text == "") { 
    MessageBox.Show("因数1不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning); 
    return; 
   } 
   if (txtInshu2.Text == "") 
   { 
    MessageBox.Show("因数2不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning); 
    return; 
   } 
 
   double inshu1 = Convert.ToDouble(txtInshu1.Text); 
   double inshu2 = Convert.ToDouble(txtInshu2.Text); 
   double result = 0.0; 
 
   if (radioBtnJia.Checked) { 
    result = inshu1 + inshu2; 
   } 
 
   if (radioBtnJian.Checked) 
   { 
    result = inshu1 - inshu2; 
   } 
 
   if (radioBtnCheng.Checked) 
   { 
    result = inshu1 * inshu2; 
   } 
 
   if (radioBtnChu.Checked) 
   { 
    if (0 == inshu2) 
    { 
     MessageBox.Show("因数2做除数不能为0!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning); 
     return; 
    } 
    result = inshu1 / inshu2; 
    result = Round(result, 6); 
   } 
 
   txtResult.Text = Convert.ToString(result); 
  } 
 } 
} 

因数输入框只允许输入数字和小数点负号的代码是从网络上引用的。
除法运算时四舍五入的处理也是引用自网络上的文章

更多计算器功能实现,请点击专题: 计算器功能汇总 进行学习

关于Android计算器功能的实现,查看专题:Android计算器 进行学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

C#抽象类与抽象方法详解

这篇文章主要为大家详细介绍了C#抽象类与抽象方法的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

C#代码实现扑克牌排序的几种方式

今天小编就为大家分享一篇关于C#代码实现扑克牌排序,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C#泛型概念的简介与泛型的使用

今天小编就为大家分享一篇关于C#泛型概念的简介与泛型的使用,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C# 7.0 使用下划线忽略使用的变量的原因分析

这篇文章主要介绍了C# 7.0 使用下划线忽略使用的变量的原因浅析,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C# 中使用正则表达式匹配字符的含义

正则表达式的作用用来描述字符串的特征。本文重点给大家介绍C# 中使用正则表达式匹配字符的含义,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
收藏 0 赞 0 分享

C# Dictionary和SortedDictionary的简介

今天小编就为大家分享一篇关于C# Dictionary和SortedDictionary的简介,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C#中SQL Command的基本用法

今天小编就为大家分享一篇关于C#中SQL Command的基本用法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C#使用SQL DataReader访问数据的优点和实例

今天小编就为大家分享一篇关于C#使用SQL DataReader访问数据的优点和实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C#使用SQL Dataset数据集代码实例

今天小编就为大家分享一篇关于的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享

C#使用SQL DataAdapter数据适配代码实例

今天小编就为大家分享一篇关于C#使用SQL DataAdapter数据适配代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
收藏 0 赞 0 分享
查看更多