vijay_bale Ответов: 2

Я столкнулся с проблемой в формате ввода C#.


Я написал одну функцию для вычисления суммы столбцов specifix в datagridview на языке C#.
Это сработало в самом начале. но теперь я столкнулся с ошибкой "входная строка не в правильном формате". Я проверил, но не смог найти ошибку там, где я это сделал.
вот мой код
public void totalsum()
       {
           int i = 0;
           double j = 0.00;


           for (i = 0; i < dataGridView1.Rows.Count; ++i)
           {


               j += Convert.ToDouble(dataGridView1.Rows[i].Cells[5].Value);

               MessageBox.Show(j.ToString());
           }
           txtitmtotal.Text = j.ToString("c");

       }


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

Я попытался найти ошибку в том, что сделал. но проследить не удалось.

2 Ответов

Рейтинг:
15

OriginalGriff

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

Мы не можем сделать это для вас, у нас нет доступа к вашим данным.


Рейтинг:
10

Bais Divyanshu

Пожалуйста, попробуйте приведенный ниже код, надеюсь, он будет работать для вас

public void totalsum()
        {
            int i = 0;
            decimal j = 0.00;
            
 
            for (i = 0; i < dataGridView1.Rows.Count; ++i)
            {
               
 
                j += Convert.ToDecimal(dataGridView1.Rows[i].Cells[5].Value);
                
                MessageBox.Show(j.ToString());
            }
            txtitmtotal.Text = j.ToString("C", LocalFormat);
            
        }