C# 执行错误&引用;输入字符串的格式不正确";
我正在用visual studio 2010制作一个C#软件。执行程序前一切正常,但当我单击Finalize按钮时,它会显示指定的错误: 输入字符串的格式不正确 我确信错误在以下行中:C# 执行错误&引用;输入字符串的格式不正确";,c#,C#,我正在用visual studio 2010制作一个C#软件。执行程序前一切正常,但当我单击Finalize按钮时,它会显示指定的错误: 输入字符串的格式不正确 我确信错误在以下行中: private void btnFinalize_Click(object sender, EventArgs e) { if (dgvProducts.RowCount == 0) { DataAccess.InformUser("Please add some product
private void btnFinalize_Click(object sender, EventArgs e)
{
if (dgvProducts.RowCount == 0)
{
DataAccess.InformUser("Please add some product to the Sale....");
return;
}
int intTotalSaleAmount = int.Parse(lblTotalSaleAmount.Text, System.Globalization.NumberStyles.AllowThousands);
string saleId;
saleId = Sales.Add(txtCustomerId.Text, dtpSaleDate.Value.ToString("mm/dd/yyyy"), txtDescription.Text, intTotalSaleAmount.ToString());
// now add all the sale details....
foreach (DataGridViewRow dr in dgvProducts.Rows)
{
string productId = Products.SelectByProductName("ProductId", dr.Cells[0].Value.ToString())[0].ToString();
string quantity = dr.Cells[1].Value.ToString();
string unitPrice = dr.Cells[2].Value.ToString();
Sales.AddDetails(saleId, productId, quantity, unitPrice);
}
DataAccess.InformUser("The sale has been finalized....");
dgvProducts.Rows.Clear();
cmbProducts_SelectedIndexChanged(sender, e);
lblTotalSaleAmount.Text = "0";
}
我不知道如何修复它。似乎您的文本格式不总是正确的,请使用:
int intTotalSaleAmount = int.Parse(lblTotalSaleAmount.Text, System.Globalization.NumberStyles.AllowThousands);
lblTotalSaleAmount.Text
的值到底是多少?您使用的是什么Culture
?虽然这是异常的解决方案,但不是真正问题的解决方案。旁注-您不需要初始化out
变量。
int intTotalSaleAmount = 0;
if (int.TryParse(lblTotalSaleAmount.Text, out intTotalSaleAmount))
{
}
else
{
// handle error
}