我是初学者,所以对于那些回答的人,请说明所有采取的步骤,以便我可以从中学习。 我有一个WPF应用程序,我在其中添加客户端和消耗。我需要计算所有输入消费的总和。我有以下代码:
private void btnKlantToevoegen_Click(object sender, RoutedEventArgs e)
{
string klant; int consumpties, maxklantconsumpties;
klant = txtKlantNaam.Text;
consumpties = int.Parse(txtKlantConsumpties.Text);
maxklantconsumpties = int.Parse(txtMaxKlantConsumpties.Text);
if (consumpties <= maxklantconsumpties && consumpties != 0)
{
lbOverzicht.Items.Add($"{klant} ({consumpties})");
}
lblTotaalConsumpties.Content = BerekenTotaalConsumpties(consumpties).ToString();
}
int BerekenTotaalConsumpties (int totaalconsumpties)
{
totaalconsumpties = 0;
for (int i = 0; i <= lbOverzicht.Items.Count; i++ )
{
totaalconsumpties += int.Parse(lbOverzicht.Items[i].ToString());
}
return totaalconsumpties;
}
我计算输入的消费总额&#39;在函数&#39; int BerekenTotaalConsumpties&#39;中,但是我得到了一个FormatException错误。
答案 0 :(得分:1)
我完全无法理解你的代码的逻辑......但我正在分享我的答案,因为问题非常明显。
您正在将字符串值转换为无法转换为整数的整数。
我正在逐步解释它..
<强> 1。您正在将项目添加到列表中:
if (consumpties <= maxklantconsumpties && consumpties != 0)
{
lbOverzicht.Items.Add($"{klant} ({consumpties})");
}
这里..lets假设{klant}是'XYZ'而{consumpties}是10 ..那么将添加到列表中的项目将是..“XYZ(10)”
<强> 2。现在您要将列表项转换为整数以进行添加:
totaalconsumpties += int.Parse(lbOverzicht.Items[i].ToString());
字符串值“XYZ(10)”无法解析为整数..您必须单独跟踪10,然后对其执行求和操作。
如果你能解释一下这个逻辑......我希望我能和你分享一个解决方法并向你解释。