C# 获取datagridview行的总和时出错

C# 获取datagridview行的总和时出错,c#,datagridview,C#,Datagridview,我在这里是因为我在点击按钮时出错。 错误是,当我按下按钮时,他会自动将要添加为标签中文本的行值相加,但我得到了这个错误:“invalidcastexception未处理”,并在somasiva+=Convert.ToSingle(Vendas.dataGridView1.rows[I].Cells[3])停止调试 private void btn确认单击(对象发送者,事件参数e) { 字符串Produto=cbproduto.SelectedItem.ToString(); int Quanti

我在这里是因为我在点击按钮时出错。 错误是,当我按下按钮时,他会自动将要添加为标签中文本的行值相加,但我得到了这个错误:“invalidcastexception未处理”,并在
somasiva+=Convert.ToSingle(Vendas.dataGridView1.rows[I].Cells[3])停止调试

private void btn确认单击(对象发送者,事件参数e)
{
字符串Produto=cbproduto.SelectedItem.ToString();
int Quantidade=Convert.ToInt32(txtquantidade.Text);
float Preco=Convert.ToSingle(txtpreco.Text);
float IVA=Convert.ToSingle(txtiva.Text);
浮点总数=(Convert.ToSingle(Preco)*Convert.ToInt32(Quantidade))+(Convert.ToSingle(txtiva.Text)*Convert.ToInt32(Quantidade));
object[]行=新对象[]{Produto,Quantidade,Preco,IVA,Total};
Vendas.dataGridView1.Rows.Add(row);
Vendas.dataGridView1.Update();
浮体索马西瓦=0,索马伊瓦=0,索马西瓦=0;
int i;
对于(i=0;i

你能告诉我我做错了什么吗?因为代码基本上和我在视频中看到的一样,在这里的一些问题上。。。我想用somasiva=Preco;索迈娃=伊娃;索玛西瓦=总数

Vendas.dataGridView1.Rows[i].Cells[3]
数据是否包含任何货币符号?我是这样得到的。。。
private void btnConfirmar_Click(object sender, EventArgs e)
    {
        string Produto = cbproduto.SelectedItem.ToString();
        int Quantidade = Convert.ToInt32(txtquantidade.Text);
        float Preco = Convert.ToSingle(txtpreco.Text);
        float IVA = Convert.ToSingle(txtiva.Text);
        float Total = (Convert.ToSingle(Preco) * Convert.ToInt32(Quantidade)) + (Convert.ToSingle(txtiva.Text) * Convert.ToInt32(Quantidade));

        object[] row = new object[] { Produto, Quantidade, Preco, IVA, Total };

        Vendas.dataGridView1.Rows.Add(row);
        Vendas.dataGridView1.Update();
        float somasiva = 0, somaiva = 0, somaciva = 0;
        int i;
        for (i = 0; i < Vendas.dataGridView1.Rows.Count; ++i)
        {
            somasiva += Convert.ToSingle(Vendas.dataGridView1.Rows[i].Cells[3]);
            somaiva += Convert.ToSingle(Vendas.dataGridView1.Rows[i].Cells[4]);
            somaciva += Convert.ToSingle(Vendas.dataGridView1.Rows[i].Cells[5]);
        }
        Vendas.lblsiva.Text = somasiva.ToString() + " €";
        Vendas.lbliva.Text = somaiva.ToString() + " €";
        Vendas.lblciva.Text = somaciva.ToString() + " €";
        Vendas.lblciva.Update();
        Vendas.lblsiva.Update();
        Vendas.lbliva.Update();
        this.Close();
    }