Usuário com melhor resposta
Calcular colunas de DataGridView com decimal

Pergunta
-
Saudações!
Estou com um dataGridView preenchido pelo banco de dados, e gostaria de fazer um calculo da coluna inteira que está preenchida com numeros 0,00. Porém, o meu código de calculo está dando erro.
Segue abaixo o código.
private void CalcularDadosTabela() { try { decimal Total = 0.00m; foreach (DataGridViewRow row in dataGridView4.Rows.Cast<DataGridViewRow>().Where(t => !string.IsNullOrEmpty(t.Cells["saidas"].Value?.ToString()))) { Total += Convert.ToDecimal(row.Cells["saidas"].Value); } textBox1.Text = Total.ToString(); } catch (Exception ex) { MessageBox.Show(ex.Message); }
com esse código funcionou com números normais. Mas como é um relatório financeiro, os valores são com vírgula "0,00", que no meu caso não está funcionando...Desde já eu agradeço.
- Editado RonaldoMax terça-feira, 28 de janeiro de 2020 21:05
Respostas
-
Encontrei o problema!
Na hora de inserir o valor no banco de vez usar o comando "c" para moedas eu uso o "N2" que transforma o numero em decimais com virgula mas não coloca o R$ no banco.
private void valorTextBox2_TextChanged(object sender, EventArgs e) { try { valor = Double.Parse(valorTxt2.Text); valorTxt2.Text = valor.ToString("N2"); } catch (Exception) { } }
Quem tiver com a mesma dúvida e não conseguir achar o erro, fica a dica. Abraço!
- Marcado como Resposta RonaldoMax quarta-feira, 29 de janeiro de 2020 02:47
Todas as Respostas
-
Encontrei o problema!
O problema não está no código, ele está funcionando perfeitamente. Está nos dados que são valores com R$ e o código não consegue somar por causa disso....alguém tem alguma dica de como remover o R$ da coluna antes de somar os valores?
-
Encontrei o problema!
Na hora de inserir o valor no banco de vez usar o comando "c" para moedas eu uso o "N2" que transforma o numero em decimais com virgula mas não coloca o R$ no banco.
private void valorTextBox2_TextChanged(object sender, EventArgs e) { try { valor = Double.Parse(valorTxt2.Text); valorTxt2.Text = valor.ToString("N2"); } catch (Exception) { } }
Quem tiver com a mesma dúvida e não conseguir achar o erro, fica a dica. Abraço!
- Marcado como Resposta RonaldoMax quarta-feira, 29 de janeiro de 2020 02:47