gpt4 book ai didi

c# - 错误 : 'Input string was not in a correct format.'

转载 作者:太空宇宙 更新时间:2023-11-03 12:10:22 25 4
gpt4 key购买 nike

int sum = 0;
for (int i = 0; i < dataGridView1.Rows.Count;++i)
{
sum += Convert.ToInt32(dataGridView1.Rows[i].Cells[2].Value);

}

label1.Text = sum.ToString();

上面是计算的代码。当我运行该应用程序时,它没有显示任何错误。在我从 MySql 加载 datagridview 并按下导致上述功能的按钮后,它显示错误。

System.FormatException: 'Input string was not in a correct format.'

sum += Convert.ToInt32(dataGridView1.Rows[i].Cells[2].Value);

Here is an example of the datagridview

如果我将 Cells[2] 更改为 Cells[0],它工作正常

我还是一个 C# 初学者,但我猜它无法将 'earned' 列中的数据转换为整数?

最佳答案

考虑到您的屏幕截图,Cells[2] 不是 int 而是 Decimal 并且 sum 应该声明为此类。

Decimal sum = 0;
for (int i = 0; i < dataGridView1.Rows.Count;++i)
{
sum += Decimal.Parse((dataGridView1.Rows[i].Cells[2].Value ?? "").ToString());
}

如果由于某些原因该值为空或错误,可以使用 TryParse 检查转换是否成功。 :

Decimal sum = 0;
for (int i = 0; i < dataGridView1.Rows.Count;++i)
{
Decimal temp;
if (Decimal.TryParse((dataGridView1.Rows[i].Cells[2].Value ?? "").ToString(), out temp))
sum += temp;
}

label1.Text = sum.ToString();

注意:(dataGridView1.Rows[i].Cells[2].Value ?? "") 将针对 dataGridView1.Rows[i].Cells[2] 执行检查.值(value)。如果它为 null,将使用值 "" 而不是 nullnull.ToString() 会抛出异常。

关于c# - 错误 : 'Input string was not in a correct format.' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52627167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com