使值在单个文本框中执行添加

时间:2018-01-03 18:22:37

标签: c#

我最近陷入了我的项目,因为我需要满足要求,需要在单个文本框中执行添加。 我查看了最相似的帖子,并对其进行了很好的了解,Addition using a single TextBox

而不是int,我需要像使用int一样使用double。

  private int i = 0;
private int[] a = new int[2];
private void button1_Click(object sender, EventArgs e)
{
    int b;
    if(Int32.TryParse(textBox1.Text, out b))
    {
        a[i] = b;
        i++;
        textBox1.Text = "";
    }
    else
    {
        MessageBox.Show(@"Incorrect number");
    }


}

private void resultbutton2_Click(object sender, EventArgs e)
{
    int sum = a[0] + a[1];
    MessageBox.Show("Sum: " + sum);
}

}

相反,我应该用什么代码为double创建类似的东西?

3 个答案:

答案 0 :(得分:0)

double b = 0;
try{
    b = Convert.ToDouble(textBox1.Text);
} 
catch(e){
   // Error Handling
}

文档:https://docs.microsoft.com/en-us/previous-versions/windows/apps/zh1hkw6k(v=vs.105)

答案 1 :(得分:0)

您可以尝试使用以下内容:

Double.Parse("1.2");

这里的一些例子: https://msdn.microsoft.com/en-us/library/fd84bdyt(v=vs.110).aspx

答案 2 :(得分:0)

如果您想保留代码,请执行以下操作:

private int i = 0;
private double[] a = new double[2];
private void button1_Click(object sender, EventArgs e)
{
   double b;
   if (Double.TryParse(textBox1.Text, out b))
   {
      a[i] = b;
      i++;
      textBox1.Text = "";
    }
    else
    {
       MessageBox.Show(@"Incorrect number");
    }
}

private void resultbutton2_Click(object sender, EventArgs e)
{
   double sum = a[0] + a[1];
   MessageBox.Show("Sum: " + sum);
}

但你可以尝试这个来增加超过2个双打:

private double result = 0.0;
private void button1_Click(object sender, EventArgs e)
{
   double b;
   if (Double.TryParse(textBox1.Text, out b))
   {
          result += b,
          textBox1.Text = "";
    }
    else
    {
       MessageBox.Show(@"Incorrect number");
    }
}

private void resultbutton2_Click(object sender, EventArgs e)
{
   MessageBox.Show("Sum: " + result);
}