2016-11-02 8 views
1

私は初心者ですので、回答した人には、すべてのステップを指定してください。 私はクライアントと消費を追加するWPFアプリケーションを持っています。入力したすべての消費の合計を計算する必要があります。私は「int型BerekenTotaalConsumpties」関数に入力された「consumpties」の合計を計算するが、私はFormatExceptionエラーを取得ListBoxの整数の合計を計算してラベルに表示する

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; 
    } 

:私は、コードを次のようしています。

答えて

1

私はあなたのコードのロジックを完全に理解することができませんでしたが、問題はかなり目に見えるので、私は自分の答えを共有しています。

文字列値を整数に変換できない整数に変換しています。私はそれがステップバイステップで説明しています

..

あなたがリストに項目を追加する1:ここでは

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

は{klantが} 'XYZ' とあるとし..lets { consumpties} 10 ..ですし、リストに追加された項目があることでしょう..「XYZ(10)」

2.今、あなたは追加のために整数にリスト項目を変換している:

totaalconsumpties += int.Parse(lbOverzicht.Items[i].ToString()); 

文字列値「XYZ(10)」は整数に解析できません。別々に10を追跡し、合計演算を実行する必要があります。

論理を少し説明することができれば、私はあなたと回避策を共有し、それをあなたに説明してくれることを願っています。

+0

基本的に私は整数(消費)を別々に追跡する方法を理解していません。 – WilliamV

+0

私は1つのメソッドを共有することができます..グローバルリストを宣言するオブジェクト..そこに(消費)を追加する..合計の時に..そのリストから項目を取得..これは助けることを願って – NMathur

+0

上記のコードのロジック:ユーザーはクライアントとそのクライアントへの消費量を入力する必要があります。消費量は設定された最大値を超えてはなりません。ユーザーは、入力したクライアントの総数とすべてのクライアントの総消費数を確認できる必要があります。 – WilliamV

関連する問題