我正在使用下面的代码来获取数据网格视图中的列的总和。C#总结问题
private void button16_Click(object sender, EventArgs e)
{
int sum = 0;
for (int i = 0; i < dataGridView4.Rows.Count; ++i)
{
sum += Convert.ToInt32(dataGridView4.Rows[i].Cells[10].Value);
}
try
{
decimal tot = 0;
for (int i=0; i <= dataGridView4.RowCount -1; i++)
{
tot += Convert.ToDecimal (dataGridView4.Rows[i].Cells[10].Value);
}
if (tot==0) {}
textBox34.Text = tot.ToString();
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
我收到错误消息
输入字符串的不正确的格式。
我发现问题出在格式化上。因为该列的SQL服务器数据类型是金钱。并且SQL服务器将我保存的任何数字更改为此格式。 00.0000 例如,如果我节省10 SQL服务器将其保存为10.0000
如果我删除了(。)我没有得到任何错误。
如果我试图总结10.0000 + 3.0000,它永远不会解决。
任何想法?
如何显示在您的网格列中的值?你有你的本地分隔符(例如一个逗号)为小数或者你有点作为分隔符? – Steve
听起来像一个区域设置问题。计算机上配置的语言是否使用除。之外的其他内容来分隔小数? – litelite
我在很多电脑上都试过,他们都用(。)如何改变它,(,) – MicrosiM