我有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;
答案 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