C#从文本框中读取并计算多个值

时间:2014-01-04 11:22:18

标签: c# visual-studio-2010 calculator

我有一个关于在C#Windows窗体应用程序中创建计算器的问题。 我希望可以使用表单按钮在文本框中编写表达式,例如 2 + 3 + 7 = ,然后按“=”按钮程序将读取所有数字和标志和执行计算......我不知道从哪里开始,怎么能以这种方式做到这一点。任何参考或smth的任何帮助,看看如何开始做这样的表达式?

主要是如何从文本框中读取,分离和计算值。

感谢。

1 个答案:

答案 0 :(得分:1)

使用Split方法,您可以轻松解决此问题。 试试这个:

private void button1_Click(object sender, EventArgs e)
{
  string[] parts = textBox1.Text.Split('+');
  int intSum = 0;
  foreach (string item in parts)
  {
    intSum = intSum + Convert.ToInt32(item);
  }
  textBox2.Text = intSum.ToString();
}

如果你想进行更通用的计算,你应该看一下这篇文章: In C# is there an eval function?

此代码段可以执行以下操作:

public static double Evaluate(string expression)
{
  System.Data.DataTable table = new System.Data.DataTable();
  table.Columns.Add("expression", string.Empty.GetType(), expression);
  System.Data.DataRow row = table.NewRow();
  table.Rows.Add(row);
  return double.Parse((string)row["expression"]);
}

private void button1_Click(object sender, EventArgs e)
{
  textBox2.Text = Evaluate(textBox1.Text).ToString();
}