学习C#自作计算器,菜鸟初学,有大神的指点,希望做的不够好的地方请大家多多指导。同时希望非常无聊的大神能加些其它计算进去
可以做幂运算,根号运算,十进制与二进制互转,16进制与十进制互转
namespace WindowsFormsApplication15
{
public partial class 祥哥计算器 : Form
{
public 祥哥计算器()
{
InitializeComponent();
} #region 数字点击事件
/// <summary>
/// 按钮点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(label1.Text))
{
if (textBox1.Text.Length < 10)
textBox1.Text += "1";
SetNum(textBox1.Text);
}
else
{
if (textBox2.Text.Length < 10)
textBox2.Text += "1";
SetNum(textBox2.Text);
}
}
private void button2_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(label1.Text))
{
if (textBox1.Text.Length < 10)
textBox1.Text += "2";
SetNum(textBox1.Text);
}
else
{
if (textBox2.Text.Length < 10)
textBox2.Text += "2";
SetNum(textBox2.Text);
}
}
private void button3_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(label1.Text))
{
if (textBox1.Text.Length < 10)
textBox1.Text += "3";
SetNum(textBox1.Text);
}
else
{
if (textBox2.Text.Length < 10)
textBox2.Text += "3";
SetNum(textBox2.Text);
}
}
private void button4_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(label1.Text))
{
if (textBox1.Text.Length < 10)
textBox1.Text += "4";
SetNum(textBox1.Text);
}
else
{
if (textBox2.Text.Length < 10)
textBox2.Text += "4";
SetNum(textBox2.Text);
}
}
private void button5_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(label1.Text))
{
if (textBox1.Text.Length < 10)
textBox1.Text += "5";
SetNum(textBox1.Text);
}
else
{
if (textBox2.Text.Length < 10)
textBox2.Text += "5";
SetNum(textBox2.Text);
}
}
private void button7_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(label1.Text))
{
if (textBox1.Text.Length < 10)
textBox1.Text += "7";
SetNum(textBox1.Text);
}
else
{
if (textBox2.Text.Length < 10)
textBox2.Text += "7";
SetNum(textBox2.Text);
}
}
private void button6_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(label1.Text))
{
if (textBox1.Text.Length < 10)
textBox1.Text += "6";
SetNum(textBox1.Text);
}
else
{
if (textBox2.Text.Length < 10)
textBox2.Text += "6";
SetNum(textBox2.Text);
}
}
private void button8_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(label1.Text))
{
if (textBox1.Text.Length < 10)
textBox1.Text += "8";
SetNum(textBox1.Text);
}
else
{
if (textBox2.Text.Length < 10)
textBox2.Text += "8";
SetNum(textBox2.Text);
}
}
private void button9_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(label1.Text))
{
if (textBox1.Text.Length < 10)
textBox1.Text += "9";
SetNum(textBox1.Text);
}
else
{
if (textBox2.Text.Length < 10)
textBox2.Text += "9";
SetNum(textBox2.Text);
}
}
private void button14_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(label1.Text))
{
if (textBox1.Text.Length < 10)
textBox1.Text += "0";
SetNum(textBox1.Text);
}
else
{
if (textBox2.Text.Length < 10)
textBox2.Text += "0";
SetNum(textBox2.Text);
}
}
/// <summary>
/// 小数点问题
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void buttonpoint_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(label1.Text))
{
if (textBox1.Text.Length < 10)
textBox1.Text += ".";
//if(textBox1.Text.IndexOf(".") >= 1)
// MessageBox.Show("已经有小数点了");
SetNum(textBox1.Text);
}
else
{
if (textBox2.Text.Length < 10)
textBox2.Text += ".";
//if(textBox2.Text.IndexOf(".") >=1)
// MessageBox.Show("已经有小数点了");
SetNum(textBox2.Text);
}
}
private void button00_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(label1.Text))
{
if (textBox1.Text.Length < 10)
textBox1.Text += "00";
SetNum(textBox1.Text);
}
else
{
if (textBox2.Text.Length < 10)
textBox2.Text += "00";
SetNum(textBox2.Text);
}
}
private void buttonA_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(label1.Text))
{
if (textBox1.Text.Length < 10)
textBox1.Text += "A";
SetNum(textBox1.Text);
}
else
{
if (textBox2.Text.Length < 10)
textBox2.Text += "A";
SetNum(textBox2.Text);
}
} private void buttonB_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(label1.Text))
{
if (textBox1.Text.Length < 10)
textBox1.Text += "B";
SetNum(textBox1.Text);
}
else
{
if (textBox2.Text.Length < 10)
textBox2.Text += "B";
SetNum(textBox2.Text);
}
} private void buttonC_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(label1.Text))
{
if (textBox1.Text.Length < 10)
textBox1.Text += "C";
SetNum(textBox1.Text);
}
else
{
if (textBox2.Text.Length < 10)
textBox2.Text += "C";
SetNum(textBox2.Text);
}
} private void buttonD_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(label1.Text))
{
if (textBox1.Text.Length < 10)
textBox1.Text += "D";
SetNum(textBox1.Text);
}
else
{
if (textBox2.Text.Length < 10)
textBox2.Text += "D";
SetNum(textBox2.Text);
}
} private void buttonE_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(label1.Text))
{
if (textBox1.Text.Length < 10)
textBox1.Text += "E";
SetNum(textBox1.Text);
}
else
{
if (textBox2.Text.Length < 10)
textBox2.Text += "E";
SetNum(textBox2.Text);
}
} private void buttonF_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(label1.Text))
{
if (textBox1.Text.Length < 10)
textBox1.Text += "F";
SetNum(textBox1.Text);
}
else
{
if (textBox2.Text.Length < 10)
textBox2.Text += "F";
SetNum(textBox2.Text);
}
}
/// <summary>
/// 清空键与退格键
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button16_Click_1(object sender, EventArgs e) ///清空CE键
{
label1.Text = "";
textBox3.Clear();
textBox1.Clear();
textBox2.Clear();
}
private void buttondelete_Click(object sender, EventArgs e) ///退格键
{
if (string.IsNullOrWhiteSpace(label1.Text))
{
textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1);
}
else
{
textBox2.Text = textBox2.Text.Substring(0, textBox2.Text.Length - 1);
}
}
#endregion
/// <summary>
/// 读取数字功能
/// </summary>
/// <param name="text"></param>
private void SetNum(string text) ///调用功能键
{
{
if (string.IsNullOrWhiteSpace(label1.Text))
{
textBox1.Text = text;
}
else
{
textBox2.Text = text;
}
}
}
/// <summary>
/// 四则运算
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button10_Click(object sender, EventArgs e) ///运算符号
{
if (!string.IsNullOrWhiteSpace(textBox1.Text) && !string.IsNullOrWhiteSpace(textBox2.Text))
{
textBox1.Text = textBox3.Text;
textBox2.Text = "";
}
label1.Text = "+";
}
private void button11_Click(object sender, EventArgs e)
{
if (!string.IsNullOrWhiteSpace(textBox1.Text) && !string.IsNullOrWhiteSpace(textBox2.Text)) {
textBox1.Text = textBox3.Text;
textBox2.Text = "";
label1.Text = "-";
}
//else
// label1.Text = "-";
else if (string.IsNullOrWhiteSpace(label1.Text)) if (string.IsNullOrWhiteSpace(textBox1.Text))
{
textBox1.Text += "-";
}
else
label1.Text = "-";
//else if (string.IsNullOrWhiteSpace(textBox2.Text))
else
textBox2.Text += "-";
}
private void button15_Click(object sender, EventArgs e)
{
if (!string.IsNullOrWhiteSpace(textBox1.Text) && !string.IsNullOrWhiteSpace(textBox2.Text))
{
textBox1.Text = textBox3.Text;
textBox2.Text = "";
}
label1.Text = "×";
}
private void button13_Click(object sender, EventArgs e)
{
if (!string.IsNullOrWhiteSpace(textBox1.Text) && !string.IsNullOrWhiteSpace(textBox2.Text))
{
textBox1.Text = textBox3.Text;
textBox2.Text = "";
}
label1.Text = "÷";
}
/// <summary>
/// 幂次与根号运算(目前只运算正根号)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void buttonmi_Click(object sender, EventArgs e)
{
if (!string.IsNullOrWhiteSpace(textBox1.Text) && !string.IsNullOrWhiteSpace(textBox2.Text))
{
textBox1.Text = textBox3.Text;
textBox2.Text = "";
}
label1.Text = "aⁿ";
}
private void buttongenhao_Click(object sender, EventArgs e)
{
if (!string.IsNullOrWhiteSpace(textBox1.Text) && !string.IsNullOrWhiteSpace(textBox2.Text))
{
textBox1.Text = textBox3.Text;
textBox2.Text = "";
}
label1.Text = "√ ̄";
}
/// <summary>
/// 4种数据转换
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void buttonBool_Click(object sender, EventArgs e)
{
if (!string.IsNullOrWhiteSpace(textBox1.Text) && !string.IsNullOrWhiteSpace(textBox2.Text))
{
textBox1.Text = textBox3.Text;
textBox2.Text = "";
}
label1.Text = "Dto2";
}
private void buttonHex_Click(object sender, EventArgs e)
{
if (!string.IsNullOrWhiteSpace(textBox1.Text) && !string.IsNullOrWhiteSpace(textBox2.Text))
{
textBox1.Text = textBox3.Text;
textBox2.Text = "";
}
label1.Text = "DtoFF";
}
private void button2toD_Click(object sender, EventArgs e)
{
label1.Text = "2toD";
}
private void buttonFFtoD_Click(object sender, EventArgs e)
{
if (!string.IsNullOrWhiteSpace(textBox1.Text) && !string.IsNullOrWhiteSpace(textBox2.Text))
{
textBox1.Text = textBox3.Text;
textBox2.Text = "";
}
label1.Text = "FFtoD";
}
/// <summary>
/// 计算结果
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button12_Click(object sender, EventArgs e) ///=号控制
{
Int32 sum1; string Str1;
switch (label1.Text)
{
case "Dto2":
sum1 = Convert.ToInt32(textBox1.Text);
textBox3.Text = Convert.ToString(sum1, 2);
break;
case "DtoFF":
sum1 = Convert.ToInt32(textBox1.Text);
textBox3.Text = Convert.ToString(sum1, 16);
textBox3.Text = textBox3.Text.ToUpper();
break;
case "2toD":
Str1 = Convert.ToString(textBox1.Text);
textBox3.Text = Convert.ToInt32(Str1, 2).ToString();
break;
case "FFtoD":
Str1 = Convert.ToString(textBox1.Text);
textBox3.Text = Convert.ToInt32(Str1, 16).ToString();
break;
default:
textBox3.Text = calNum(Convert.ToDouble(textBox1.Text), Convert.ToDouble(textBox2.Text));
break;
}
}
/// <summary>
/// 计算算法
/// </summary>
/// <param name="num1"></param>
/// <param name="num2"></param>
/// <returns></returns>
private string calNum(double num1, double num2) /// 计算
{
double sum = 0;
switch (label1.Text)
{
case "+":
sum = num1 + num2;
break;
case "-":
sum = num1 - num2;
break;
case "×":
sum = num1 * num2;
break;
case "÷":
if (num2 != 0)
sum = num1 / num2;
else
MessageBox.Show("语法错误,除数不能为0,请重新输入...");
break;
case "aⁿ":
sum = Math.Pow(num1, num2);
break;
case "√ ̄":
if (num1 >= 0 && num2 != 0)
sum = Math.Pow(num1, 1 / num2);
else
MessageBox.Show("语法错误,根号内不能小于0且不能开0次方,请重新输入...");
break;
}
switch (PointBit.SelectedIndex) ///小数点控制
{
case 0:
return Convert.ToDouble(sum).ToString("f0");
case 1:
return Convert.ToDouble(sum).ToString("f1");
case 2:
return Convert.ToDouble(sum).ToString("f2");
case 3:
return Convert.ToDouble(sum).ToString("f3");
case 4:
return sum.ToString();
}
return sum.ToString();
}
}
}
namespace WindowsFormsApplication15{ public partial class 祥哥计算器 : Form { public 祥哥计算器() { InitializeComponent(); }
#region 数字点击事件 /// <summary> /// 按钮点击事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(label1.Text)) { if (textBox1.Text.Length < 10) textBox1.Text += "1"; SetNum(textBox1.Text); } else { if (textBox2.Text.Length < 10) textBox2.Text += "1"; SetNum(textBox2.Text); } } private void button2_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(label1.Text)) { if (textBox1.Text.Length < 10) textBox1.Text += "2"; SetNum(textBox1.Text); } else { if (textBox2.Text.Length < 10) textBox2.Text += "2"; SetNum(textBox2.Text); } } private void button3_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(label1.Text)) { if (textBox1.Text.Length < 10) textBox1.Text += "3"; SetNum(textBox1.Text); } else { if (textBox2.Text.Length < 10) textBox2.Text += "3"; SetNum(textBox2.Text); } } private void button4_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(label1.Text)) { if (textBox1.Text.Length < 10) textBox1.Text += "4"; SetNum(textBox1.Text); } else { if (textBox2.Text.Length < 10) textBox2.Text += "4"; SetNum(textBox2.Text); } } private void button5_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(label1.Text)) { if (textBox1.Text.Length < 10) textBox1.Text += "5"; SetNum(textBox1.Text); } else { if (textBox2.Text.Length < 10) textBox2.Text += "5"; SetNum(textBox2.Text); } } private void button7_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(label1.Text)) { if (textBox1.Text.Length < 10) textBox1.Text += "7"; SetNum(textBox1.Text); } else { if (textBox2.Text.Length < 10) textBox2.Text += "7"; SetNum(textBox2.Text); } } private void button6_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(label1.Text)) { if (textBox1.Text.Length < 10) textBox1.Text += "6"; SetNum(textBox1.Text); } else { if (textBox2.Text.Length < 10) textBox2.Text += "6"; SetNum(textBox2.Text); } } private void button8_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(label1.Text)) { if (textBox1.Text.Length < 10) textBox1.Text += "8"; SetNum(textBox1.Text); } else { if (textBox2.Text.Length < 10) textBox2.Text += "8"; SetNum(textBox2.Text); } } private void button9_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(label1.Text)) { if (textBox1.Text.Length < 10) textBox1.Text += "9"; SetNum(textBox1.Text); } else { if (textBox2.Text.Length < 10) textBox2.Text += "9"; SetNum(textBox2.Text); } } private void button14_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(label1.Text)) { if (textBox1.Text.Length < 10) textBox1.Text += "0"; SetNum(textBox1.Text); } else { if (textBox2.Text.Length < 10) textBox2.Text += "0"; SetNum(textBox2.Text); } } /// <summary> /// 小数点问题 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonpoint_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(label1.Text)) { if (textBox1.Text.Length < 10) textBox1.Text += "."; //if(textBox1.Text.IndexOf(".") >= 1) // MessageBox.Show("已经有小数点了"); SetNum(textBox1.Text); } else { if (textBox2.Text.Length < 10) textBox2.Text += "."; //if(textBox2.Text.IndexOf(".") >=1) // MessageBox.Show("已经有小数点了"); SetNum(textBox2.Text); } } private void button00_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(label1.Text)) { if (textBox1.Text.Length < 10) textBox1.Text += "00"; SetNum(textBox1.Text); } else { if (textBox2.Text.Length < 10) textBox2.Text += "00"; SetNum(textBox2.Text); } } private void buttonA_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(label1.Text)) { if (textBox1.Text.Length < 10) textBox1.Text += "A"; SetNum(textBox1.Text); } else { if (textBox2.Text.Length < 10) textBox2.Text += "A"; SetNum(textBox2.Text); } }
private void buttonB_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(label1.Text)) { if (textBox1.Text.Length < 10) textBox1.Text += "B"; SetNum(textBox1.Text); } else { if (textBox2.Text.Length < 10) textBox2.Text += "B"; SetNum(textBox2.Text); } }
private void buttonC_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(label1.Text)) { if (textBox1.Text.Length < 10) textBox1.Text += "C"; SetNum(textBox1.Text); } else { if (textBox2.Text.Length < 10) textBox2.Text += "C"; SetNum(textBox2.Text); } }
private void buttonD_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(label1.Text)) { if (textBox1.Text.Length < 10) textBox1.Text += "D"; SetNum(textBox1.Text); } else { if (textBox2.Text.Length < 10) textBox2.Text += "D"; SetNum(textBox2.Text); } }
private void buttonE_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(label1.Text)) { if (textBox1.Text.Length < 10) textBox1.Text += "E"; SetNum(textBox1.Text); } else { if (textBox2.Text.Length < 10) textBox2.Text += "E"; SetNum(textBox2.Text); } }
private void buttonF_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(label1.Text)) { if (textBox1.Text.Length < 10) textBox1.Text += "F"; SetNum(textBox1.Text); } else { if (textBox2.Text.Length < 10) textBox2.Text += "F"; SetNum(textBox2.Text); } } /// <summary> /// 清空键与退格键 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button16_Click_1(object sender, EventArgs e) ///清空CE键 { label1.Text = ""; textBox3.Clear(); textBox1.Clear(); textBox2.Clear(); } private void buttondelete_Click(object sender, EventArgs e) ///退格键 { if (string.IsNullOrWhiteSpace(label1.Text)) { textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1); } else { textBox2.Text = textBox2.Text.Substring(0, textBox2.Text.Length - 1); } } #endregion /// <summary> /// 读取数字功能 /// </summary> /// <param name="text"></param> private void SetNum(string text) ///调用功能键 { { if (string.IsNullOrWhiteSpace(label1.Text)) { textBox1.Text = text; } else { textBox2.Text = text; } } } /// <summary> /// 四则运算 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button10_Click(object sender, EventArgs e) ///运算符号 { if (!string.IsNullOrWhiteSpace(textBox1.Text) && !string.IsNullOrWhiteSpace(textBox2.Text)) { textBox1.Text = textBox3.Text; textBox2.Text = ""; } label1.Text = "+"; } private void button11_Click(object sender, EventArgs e) { if (!string.IsNullOrWhiteSpace(textBox1.Text) && !string.IsNullOrWhiteSpace(textBox2.Text))
{ textBox1.Text = textBox3.Text; textBox2.Text = ""; label1.Text = "-"; } //else // label1.Text = "-"; else if (string.IsNullOrWhiteSpace(label1.Text))
if (string.IsNullOrWhiteSpace(textBox1.Text)) { textBox1.Text += "-"; } else label1.Text = "-"; //else if (string.IsNullOrWhiteSpace(textBox2.Text)) else textBox2.Text += "-"; } private void button15_Click(object sender, EventArgs e) { if (!string.IsNullOrWhiteSpace(textBox1.Text) && !string.IsNullOrWhiteSpace(textBox2.Text)) { textBox1.Text = textBox3.Text; textBox2.Text = ""; } label1.Text = "×"; } private void button13_Click(object sender, EventArgs e) { if (!string.IsNullOrWhiteSpace(textBox1.Text) && !string.IsNullOrWhiteSpace(textBox2.Text)) { textBox1.Text = textBox3.Text; textBox2.Text = ""; } label1.Text = "÷"; } /// <summary> /// 幂次与根号运算(目前只运算正根号) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonmi_Click(object sender, EventArgs e) { if (!string.IsNullOrWhiteSpace(textBox1.Text) && !string.IsNullOrWhiteSpace(textBox2.Text)) { textBox1.Text = textBox3.Text; textBox2.Text = ""; } label1.Text = "aⁿ"; } private void buttongenhao_Click(object sender, EventArgs e) { if (!string.IsNullOrWhiteSpace(textBox1.Text) && !string.IsNullOrWhiteSpace(textBox2.Text)) { textBox1.Text = textBox3.Text; textBox2.Text = ""; } label1.Text = "√ ̄"; } /// <summary> /// 4种数据转换 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonBool_Click(object sender, EventArgs e) { if (!string.IsNullOrWhiteSpace(textBox1.Text) && !string.IsNullOrWhiteSpace(textBox2.Text)) { textBox1.Text = textBox3.Text; textBox2.Text = ""; } label1.Text = "Dto2"; } private void buttonHex_Click(object sender, EventArgs e) { if (!string.IsNullOrWhiteSpace(textBox1.Text) && !string.IsNullOrWhiteSpace(textBox2.Text)) { textBox1.Text = textBox3.Text; textBox2.Text = ""; } label1.Text = "DtoFF"; } private void button2toD_Click(object sender, EventArgs e) { label1.Text = "2toD"; } private void buttonFFtoD_Click(object sender, EventArgs e) { if (!string.IsNullOrWhiteSpace(textBox1.Text) && !string.IsNullOrWhiteSpace(textBox2.Text)) { textBox1.Text = textBox3.Text; textBox2.Text = ""; } label1.Text = "FFtoD"; } /// <summary> /// 计算结果 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button12_Click(object sender, EventArgs e) ///=号控制 { Int32 sum1; string Str1; switch (label1.Text) { case "Dto2": sum1 = Convert.ToInt32(textBox1.Text); textBox3.Text = Convert.ToString(sum1, 2); break; case "DtoFF": sum1 = Convert.ToInt32(textBox1.Text); textBox3.Text = Convert.ToString(sum1, 16); textBox3.Text = textBox3.Text.ToUpper(); break; case "2toD": Str1 = Convert.ToString(textBox1.Text); textBox3.Text = Convert.ToInt32(Str1, 2).ToString(); break; case "FFtoD": Str1 = Convert.ToString(textBox1.Text); textBox3.Text = Convert.ToInt32(Str1, 16).ToString(); break; default: textBox3.Text = calNum(Convert.ToDouble(textBox1.Text), Convert.ToDouble(textBox2.Text)); break; } } /// <summary> /// 计算算法 /// </summary> /// <param name="num1"></param> /// <param name="num2"></param> /// <returns></returns> private string calNum(double num1, double num2) /// 计算 { double sum = 0; switch (label1.Text) { case "+": sum = num1 + num2; break; case "-": sum = num1 - num2; break; case "×": sum = num1 * num2; break; case "÷": if (num2 != 0) sum = num1 / num2; else MessageBox.Show("语法错误,除数不能为0,请重新输入..."); break; case "aⁿ": sum = Math.Pow(num1, num2); break; case "√ ̄": if (num1 >= 0 && num2 != 0) sum = Math.Pow(num1, 1 / num2); else MessageBox.Show("语法错误,根号内不能小于0且不能开0次方,请重新输入..."); break; } switch (PointBit.SelectedIndex) ///小数点控制 { case 0: return Convert.ToDouble(sum).ToString("f0"); case 1: return Convert.ToDouble(sum).ToString("f1"); case 2: return Convert.ToDouble(sum).ToString("f2"); case 3: return Convert.ToDouble(sum).ToString("f3"); case 4: return sum.ToString(); } return sum.ToString(); } }}
学习C#自作计算器,菜鸟初学,有大神的指点,希望做的不够好的地方请大家多多指导。同时希望非常无聊的大神能加些其它计算进去的更多相关文章
- 初学jquery,自己写的一个jquery幻灯片,代码有些笨拙,希望有大神可以指点一二,精简一下代码
html代码 <div class="picCon"> <div class="bigPic"> <ul> <li c ...
- jQuery实现购物车多物品数量的加减+总价计算
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...
- 忘记block格式 xib加载没有计算导航栏和tabbar的大小
敲inlineBlock xib加载没有计算导航栏和tabbar的大小 /将这个属性改为no self.tabBarController.tabBar.translucent = NO; 判断优化,两 ...
- zw·10倍速大数据与全内存计算
zw·10倍速大数据与全内存计算 zw全内存10倍速计算blog,早就在博客园机器视觉栏目发过,大数据版的一直挂着,今天抽空补上. 在<零起点,python大数据与量化交易>目录中 htt ...
- PCB 加投率计算实现基本原理--K最近邻算法(KNN)
PCB行业中,客户订购5000pcs,在投料时不会直接投5000pcs,因为实际在生产过程不可避免的造成PCB报废, 所以在生产前需计划多投一定比例的板板, 例:订单 量是5000pcs,加投3%,那 ...
- JQuery购物车多物品数量的加减+总价计算
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 学习STM32单片机,从菜鸟到牛人就是这样简单(配视频资料)
我想说,为了学习单片机而去学习单片机的思路不对. 你问,如何系统地入门学习stm32? 本身就是一个错误的问题.假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习. 你要考虑的 ...
- PHP学习笔记02——简易计算器
<!DOCTYPE html> <html> <head> <title>PHP简易计算器</title> </head> &l ...
- C#基础学习第一天(.net菜鸟的成长之路-零基础到精通)
1.Net平台和C#编程语言的概念 2.桌面应用程序: 我们要使用桌面应用程序,必须要安装该应用程序的客户端. winform应用程序. Application:应用程序 Internet:互联网应用 ...
随机推荐
- swoole的websockte例子
服务器的环境,建议用bt.cn的一键环境 服务端: <?php /** * Created by PhpStorm. * User: Administrator * Date: 2019\5\2 ...
- android DownloadManager: java.lang.IllegalArgumentException: Not a file URI: content://
DownloadManager 使用Uri指定下载路径Bug 使用DownloadManager 下载文件 通常写法: DownloadManager dm = (DownloadManager) g ...
- Matrix: android 中的Matrix (android.graphics.Matrix) (转)
本篇博客主要讲解一下如何处理对一个Bitmap对象进行处理,包括:缩放.旋转.位移.倾斜等.在最后将以一个简单的Demo来演示图片特效的变换. 1. Matrix概述 对于一个图片变换的处理,需要Ma ...
- unless it is in a subquery contained in a HAVING clause or a select list.
sql查询报错: An aggregate may not appear in the WHERE clause unless it is in asubquery contained in a HA ...
- StringBuider类
特点: 线程不安全的可变字符序列 ; 线程不安全对应的效率高 ; 用法同StringBuffer一致
- Django之数据库对象关系映射
Django ORM基本配置 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去 ...
- 002-01-RestTemplate-配置使用说明
一.概述 Spring RestTemplate 是 Spring 提供的用于访问 Rest 服务的客户端,RestTemplate 提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写 ...
- CentOS7下搭建zabbix监控(二)——Zabbix被监控端配置
Zabbix监控端配置请查看:CentOS7下搭建zabbix监控(一)——Zabbix监控端配置 (1).在CentOS7(被监控端)上部署Zabbix Agent 主机名:youxi2 IP地址: ...
- Hive实现WordCount详解
一.WordCount原理 初学MapReduce编程,WordCount作为入门经典,类似于初学编程时的Hello World.WordCount的逻辑就是给定一个/多个文本,统计出文本中每次单词/ ...
- mysql为字段添加或删除自增属性
删除自增属性: ALTER TABLE `members` CHANGE uid uid INT(10) UNSIGNED NOT NULL ; 添加自增属性: ALTER TABLE `member ...