我有一个可以导出和导入成功的ListView。我的问题是我需要计算付款列(ListView中的最后一列)并在Label中显示结果。但是,我得到的输入字符串格式不正确"错误。
这是我的代码:
private void DisplayWeeklyEarnings()
{
decimal total =0;
foreach (ListViewItem item in lvTimeSheet.Items)
{
total += Convert.ToDecimal(item.SubItems[4].Text);
}
lblEarnings.Text = String.Format("{0:C2}", total);
}
我也尝试过:
total += Decimal.Parse(item.Subitems[4].Text);
其他人建议使用:
total += Decimal.Parse(item.Subitems(4).Text);
然而,这给我一个关于使用Subitems作为方法的错误。显然这是错误的。
这是我的表格面: Click here to see the Form Face
以下是填充了付款列的表单: Click here to see the Populated form
非常感谢任何帮助。提前谢谢。
答案 0 :(得分:3)
您的上一栏包含货币符号。如果使用decimal.Parse
的正确重载,则可以解析此问题Sheet2!$D1:$D100
如果您的最后一列包含无法使用decimal.Parse的重载(例如空值)解析的值,请考虑使用
INDEX
如果您没有对输入进行完全控制,那么TryParse会更加安全无虞,因为在输入格式错误的情况下它不会引发异常。