2016-11-02 1 views
1

Я новичок, поэтому для тех, кто отвечает, пожалуйста, укажите все шаги, которые я могу извлечь из этого. У меня есть приложение WPF, в котором я добавляю клиентов и потребление. Мне нужно рассчитать сумму всех введенных расходов. У меня следующий код:Вычислить сумму целых чисел в ListBox ans show в Label

private void btnKlantToevoegen_Click(object sender, RoutedEventArgs e) 
    { 
     string klant; int consumpties, maxklantconsumpties; 

     klant = txtKlantNaam.Text; 
     consumpties = int.Parse(txtKlantConsumpties.Text); 
     maxklantconsumpties = int.Parse(txtMaxKlantConsumpties.Text); 


     if (consumpties <= maxklantconsumpties && consumpties != 0) 
     { 
      lbOverzicht.Items.Add($"{klant} ({consumpties})"); 
     } 

     lblTotaalConsumpties.Content = BerekenTotaalConsumpties(consumpties).ToString(); 
    } 

    int BerekenTotaalConsumpties (int totaalconsumpties) 
    { 
     totaalconsumpties = 0; 

     for (int i = 0; i <= lbOverzicht.Items.Count; i++) 
     { 
      totaalconsumpties += int.Parse(lbOverzicht.Items[i].ToString()); 
     } 

     return totaalconsumpties; 
    } 

рассчитать общее количество введенного «consumpties» в функции «INT BerekenTotaalConsumpties», но я получаю FormatException ошибку.

ответ

1

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

Вы преобразовываете строковое значение в целое число, которое невозможно преобразовать в целое.

Я объясняю это шаг за шагом ..

1. Вы добавляете элемент в список:

if (consumpties <= maxklantconsumpties && consumpties != 0) 
{ 
    lbOverzicht.Items.Add($"{klant} ({consumpties})"); 
} 

Здесь ..lets пусть {klant} является 'XYZ' и { consumpties} является 10 .. то элемент, который будет добавить в список будет .. «XYZ (10)»

2. Теперь вы конвертируете элемент списка в целом для добавления:

Строковое значение «XYZ (10)» не может быть проанализировано на целое число. Вы должны отслеживать 10 отдельно, а затем выполнять операцию суммирования на нем.

Если вы можете немного объяснить логику ... Я надеюсь, что смогу поделиться с вами обходным путем и объяснить вам это.

+0

Ну в основном я не понимаю, как отслеживать целое число (расходные материалы) отдельно. – WilliamV

+0

Я могу поделиться одним методом .. объявить глобальный список объект .. добавить (расходные материалы) в него .. на время суммы .. получить элемент из этого списка .. надеюсь, это может помочь – NMathur

+0

Логика выше кода : пользователю необходимо ввести клиента и количество потреблений для этого клиента. Расход может не превышать установленный максимум. Пользователь должен уметь видеть общее количество клиентов, которые он ввел, и общее количество потреблений для всех клиентов. – WilliamV

 Смежные вопросы

  • Нет связанных вопросов^_^