Principales respuestas
Sumar negativos datagridview

Pregunta
-
Buenos Días amigos
como puedo sumar importes negativos
tengo esto que suma los importes de un datagrid
decimal result = dataGridView1.Rows.Cast<DataGridViewRow>().Sum(x => Convert.ToDecimal(x.Cells["importe"].Value));
y para sumar los negativos como puedo hacer?
saludos
ruben
Respuestas
-
No veo por qué habría diferencia entre sumar positivos y negativos. 1 + -1 = 0 y su actual cálculo debería reportar tal cosa de la misma manera.
Jose R. MCP
Code Samples- Marcado como respuesta Pablo RubioModerator domingo, 1 de abril de 2018 14:29
Todas las respuestas
-
No veo por qué habría diferencia entre sumar positivos y negativos. 1 + -1 = 0 y su actual cálculo debería reportar tal cosa de la misma manera.
Jose R. MCP
Code Samples- Marcado como respuesta Pablo RubioModerator domingo, 1 de abril de 2018 14:29
-
-
-
Buenas Ruben,
Tal cual lo quieres, lo primero seria hacer un Where para obtener los negativos, y después sumarlos
decimal result = dataGridView1.Rows.Cast<DataGridViewRow>() .Where(x => Convert.ToDecimal(x.Cells["importe"].Value) < 0) .Sum(x => Convert.ToDecimal(x.Cells["importe"].Value));
El el caso de que quieras sumar los negativos sin el signo - en el resultado:
decimal result = dataGridView1.Rows.Cast<DataGridViewRow>() .Where(x => Convert.ToDecimal(x.Cells["importe"].Value) < 0) .Sum(x=>Math.Abs(Convert.ToDecimal(x.Cells["importe"].Value)));
Y en el caso de que quieras sumarlos todos, (sumar los negativos con los positivos en el total)
decimal result = dataGridView1.Rows.Cast<DataGridViewRow>() .Sum(x =>Math.Abs(Convert.ToDecimal(x.Cells["importe"].Value)));
Como no entiendo cual de los 3 quieres, por si acaso te pongo los 3
Nos comentas el resultado
Atte
No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.
Para obtener una respuesta lo más rápida y concisa posible, te recomiendo:
- Editado Jorge TurradoMVP martes, 27 de marzo de 2018 12:49
- Propuesto como respuesta webJoseModerator martes, 27 de marzo de 2018 19:17
-
hola
puede usar
para obtener el valor absoluto, o sea le quitas el signo
decimal result = dataGridView1.Rows.Cast<DataGridViewRow>().Sum(x => Math.Abs(Convert.ToDecimal(x.Cells["importe"].Value)));
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Propuesto como respuesta Tonatiuh AbregoModerator martes, 27 de marzo de 2018 17:09
- Votado como útil webJoseModerator martes, 27 de marzo de 2018 19:17
- Propuesto como respuesta Tonatiuh AbregoModerator miércoles, 28 de marzo de 2018 17:55