Member 9983063 Ответов: 6

Как суммировать двойное число и показать в messagebox


Привет друг, я столкнулся с проблемой, что я хочу показать двойные значения, и я хочу показать, что значения в текстовом поле или окне сообщения у меня есть значения суммы, но я не знаю, как показать в окне сообщения, когда я использую этот запрос message box.show(sum1.tostring());поэтому он возвращает нулевые значения, пожалуйста, направьте меня, как я могу показать эти значения суммы в окне сообщения.Спасибо

Что я уже пробовал:

Double sum1 = 0;
           //int rowIdx1 = dataGridView2.Rows.Count;
           for (int i = 0; i < dataGridView2.Rows.Count; ++i)
           {
               sum1 = Double.Parse(dataGridView2.Rows[i].Cells[1].Value.ToString());
           }
         message box.show(sum1.tostring());

[no name]

На самом деле он ничего не возвращает, так как ваш код не будет компилироваться. Затем, как только вы исправите ошибки компиляции, чтобы ваш код работал, узнайте, как использовать отладчик для поиска и исправления ваших логических ошибок.

Member 9983063

нет никакой ошибки

[no name]

Да есть такое. Я вижу это ясно, как день. Ваш код не будет компилироваться на чьем-либо компьютере, поэтому он вообще не будет работать.

0x01AA

Сумма? На данный момент это выглядит как последнее значение.
Как насчет суммы 1+= ...
Или, может быть, я не понимаю смысла.

6 Ответов

Рейтинг:
2

Peter Leow

Разве не должно быть

sum1 += Double.Parse(dataGridView2.Rows[i].Cells[1].Value);
На самом деле, вы должны использовать Двойной.Метод TryParse (String, Double) (System)[^]


Рейтинг:
2

Kornfeld Eliyahu Peter

Похоже, вы используете SQL... так что используйте силу SQL и суммируйте значение на уровне SQL...
SUM (Transact-SQL)[^]

SELECT SUM(double_colum) FROM table1

Но если вы настаиваете на том, чтобы сделать это в коде, сделайте это правильно...
Double sum1 = 0;
for (int i = 0; i < dataGridView2.Rows.Count; ++i)
{
  // this line is all wrong:
  // 1. Why to convert back and forth your data - it is a number in SQL it will be a number here too!!!
  // 2. In every iteration you put the last value in sum1 instead of adding it... use += instead of = !!!
  sum1 = Double.Parse(dataGridView2.Rows[i].Cells[1].Value.ToString());
}
message box.show(sum1.tostring());

Предложение сделать это лучше...
double sum = 0
foreach (DataRow oDataRow in dataGridView2.Rows)
{
  sum += oDataRow.Cells[1].Value;
}


Рейтинг:
1

Graeme_Grant

Если вы хотите простой формат в качестве альтернативы приведенным выше ответам:

sum1 = sum1 + Double.Parse(dataGridView2.Rows[i].Cells[1].Value);
что в точности совпадает с
sum1 += Double.Parse(dataGridView2.Rows[i].Cells[1].Value);


Рейтинг:
1

sajidur rahman

Double sum1 = 0;
            //int rowIdx1 = dataGridView2.Rows.Count;
            for (int i = 0; i < dataGridView2.Rows.Count; ++i)
            {
                sum1 += Double.Parse(dataGridView2.Rows[i].Cells[1].Value.ToString());
            }
          message box.show(sum1.tostring());


[редактировать]: добавлено в блок кода.


Рейтинг:
0

Karthik_Mahalingam

Об этом мы позаботимся empty/null значения в ячейках

Double sum = 0;          
            for (int i = 0; i < dataGridView2.Rows.Count; ++i)
            {
                double value;
                Double.TryParse(dataGridView2.Rows[i].Cells[1].Value.ToString(),out value);
                sum += value;
            }
            MessageBox.Show(sum.ToString());


Рейтинг:
0

Patrice T

Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволяет вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения, это невероятный инструмент обучения.

Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.