如何计算列表框的总和
How to calculate the total sum of a listbox
我正在尝试计算列表框中一列的总数。我的代码如下:
变量
double VanTot = Menu.VanillaQ * 1.00;
double LCTot = Menu.LCQ * 1.50;
double ChocTot = Menu.ChocQ * 1.50;
列表框
if (Menu.VanillaQ > 0)
{
listBox2.Items.Add("£" + VanTot.ToString("N2"));
}
if (Menu.LCQ > 0)
{
listBox2.Items.Add("£" + LCTot.ToString("N2"));
}
if (Menu.ChocQ > 0)
{
listBox2.Items.Add("£" + ChocTot.ToString("N2"));
}
如何通过添加每个 'Tot' 来计算总数并将其显示在此文本框中:
private void Totaltxt_TextChanged(object sender, TextChangedEventArgs e)
{
}
当相应文本框的文本以任何方式更改时,将调用 Totaltxt_TextChanged 方法,因此我不确定这如何适用于总计。每当您希望计算和显示总数时,您可能只插入以下行。我假设 "Totaltxt" 是您的文本框的名称。
Totaltxt.Text = (VanTot + LCTot + ChocTot).ToString();
如果你想获得ListBox
和Sum
中的所有Items
,你可以使用LINQ
Sum
来帮助你。但是在到达那里之前你需要一些中间步骤:
- 将
object
中的 ListBox.Items
转换为 string
- 将每个元素转换为数字数据类型,例如
decimal
- 对结果求和
你可以用 LINQ
这样的单行代码来做到这一点:
decimal sum = listBox1.Items
.Cast<string>() //read (1)
.Select(x => Convert.ToDecimal(x)) //read (2)
.Sum(); //read (3)
我正在尝试计算列表框中一列的总数。我的代码如下:
变量
double VanTot = Menu.VanillaQ * 1.00;
double LCTot = Menu.LCQ * 1.50;
double ChocTot = Menu.ChocQ * 1.50;
列表框
if (Menu.VanillaQ > 0)
{
listBox2.Items.Add("£" + VanTot.ToString("N2"));
}
if (Menu.LCQ > 0)
{
listBox2.Items.Add("£" + LCTot.ToString("N2"));
}
if (Menu.ChocQ > 0)
{
listBox2.Items.Add("£" + ChocTot.ToString("N2"));
}
如何通过添加每个 'Tot' 来计算总数并将其显示在此文本框中:
private void Totaltxt_TextChanged(object sender, TextChangedEventArgs e)
{
}
当相应文本框的文本以任何方式更改时,将调用 Totaltxt_TextChanged 方法,因此我不确定这如何适用于总计。每当您希望计算和显示总数时,您可能只插入以下行。我假设 "Totaltxt" 是您的文本框的名称。
Totaltxt.Text = (VanTot + LCTot + ChocTot).ToString();
如果你想获得ListBox
和Sum
中的所有Items
,你可以使用LINQ
Sum
来帮助你。但是在到达那里之前你需要一些中间步骤:
- 将
object
中的ListBox.Items
转换为string
- 将每个元素转换为数字数据类型,例如
decimal
- 对结果求和
你可以用 LINQ
这样的单行代码来做到这一点:
decimal sum = listBox1.Items
.Cast<string>() //read (1)
.Select(x => Convert.ToDecimal(x)) //read (2)
.Sum(); //read (3)