要在单独标签上打印的多个标签的总和

时间:2016-05-01 14:24:53

标签: c# visual-studio

我有7个标签,其中打印出计算值

 private void label29_Click(object sender, EventArgs e)
        {
            double a1 = (1.0 / trackBar1.Value);







            label29.Text = (1.0 / trackBar1.Value).ToString();



        }

对于一个标签,我现在试图将所有7个标签的答案汇总到一个标签上。我认为我的问题是它们都是字符串值,但即使我删除了.ToString方法,我仍然会在第8个标签上出现错误,该标签包含7个标签的所有总和

double label56 = label29 + label30 + label31 + label32 + label33 + label34 + label35;

1 个答案:

答案 0 :(得分:1)

您需要获取每个标签的文字。但是,Text的类型为string,这不是可以求和的数字(实际上它是以不同的方式求和,只是将字符串连接在一起)。

所以我们将每个文本转换为double,以便何时可以求和:

double result = double.Parse(label29.Text) + double.Parse(label30.Text)  
      + double.Parse(label31.Text) + double.Parse(label32.Text) 
      + double.Parse(label33.Text) + double.Parse(label34.Text) 
      + double.Parse(label35.Text);
label56.Text = result.ToString(); //convert back to string for display

更好的方法是将标签放在一个数组中,并在其上循环以找到总和:

Label[] arr = new Label[]{ label29 , label30 , label31 , label32 , label33 , label34 , label35 };
double result = 0;
foreach (var item in arr)
   result += double.Parse(item.Text);
label56.Text = result.ToString(); //convert back to string for display