2016-05-09 4 views
0

このエラーについてここで質問していますが、それぞれ独自の応答がありますが、独自のコードではなく、他の誰かのmscorlib.dllで変換時にSystem.FormatExceptionが発生しましたint32

私は、私は、できるだけ早く私はそれが今でクラッシュし、物事の合計を計算するために、クラスに入れ始めたよう

を大学の割り当てのためにしばらくの間、このプログラムに取り組んで、とされています私のメインコードを掲載する予定です

enter code here 
namespace Till 


public partial class MainWindow : Window 
{ 
    Calculator calc = new Calculator(); 


    public MainWindow() 
    { 

     InitializeComponent(); 


    } 

    public bool User; 
    public bool tillopen = false; 


    private void button_Click(object sender, RoutedEventArgs e) 
    { 
     //button clone thingy 

     Button btn = (Button)sender; 
     label.Content = label.Content + btn.Content.ToString(); 
     Console.Beep(); // makes the buttons beep 

    } 

    private void clear_Click(object sender, RoutedEventArgs e) 
    { 
     // Clear 

     label.Content = ""; 

    } 

    private void Button_Submit_Click(object sender, RoutedEventArgs e) 
    { 
     // submit 
     listView.Items.Add(label.Content); 
     label.Content = ""; 
     calc.setSoldItems(Convert.ToInt32(label.Content)); /// it breaks on this line/// 
    } 

    private void button13_Click(object sender, RoutedEventArgs e) 
    { 
     //void sale 
     label.Content = ""; 
     listView.Items.Clear(); 
    } 

    private void button15_Click(object sender, RoutedEventArgs e) 
    { 
     //pound 
     label.Content = "1.00"; 
    } 

    private void button12_Click(object sender, RoutedEventArgs e) 
    { 
     //till open close 

     tillopen = true; 
    } 

    private void button16_Click(object sender, RoutedEventArgs e) 
    { 
     Login m = new Login(); 
        m.Show(); 
     this.Close(); 

    } 

    private void button14_Click(object sender, RoutedEventArgs e) 
    { 
     label.Content = "2.00"; // 2 pound 
    } 

    private void button17_Click(object sender, RoutedEventArgs e) 
    { 
     label.Content = calc.finish(); 
    } 
} 

別のWPF(int32に変換する)でエラーを再作成しようとしましたが、うまくいきます。これは自分のコード自体の問題です。私は他のマシンを使用していました。それで私たちは、このコード自体と壊れたdllファイルではないという前提に来た

私は先生と座って、私たちの時間の両方、この課題は3週間で予定されており、今私に侵入することに決めました。

thankies

このエラーを再現するために、私は私のWindowsフォーム上の番号ボタンを押すと、彼らはこのすべてを扱う私のクラスのコピーが必要な場合、私は(変換を開始する)を作成し、送信ボタンをヒット方法button_click

+1

'label.Content'を空の文字列に設定して、それを次の行の整数に変換しようとしています。あなたはそこで何をするつもりでしたか?あなたはそれらの2つの行を交換したいですか? –

答えて

0

にそれを投稿して幸せイムは、あなたがラベルに文字列値で、値が代わりにADDの連結された

label.Content = label.Content + btn.Content.ToString(); 

として値が割り当てられています。

読み込み中は、Int32で変換しています。これには整数値が含まれないため、例外が発生します。

あなたはこのように値を追加することができます。

label.Content = (Convert.ToInt32(label.Content) + Convert.ToInt32(btn.Content)).ToString(); 

、それはそれらを変換し、唯一のそれはいくつかの値を持っている場合には、値を変換していない持っている場合、ラベルは、その中にブランク値を持っている場合は変換する前に確認してください何のエラーも出ません。数値以外の値も割り当てないでください。

Convert.ToInt32(label.Content) 

をしかし、あなたが設定する前にライン上:

+0

もしあなたがこの答えを受け入れることができます... – sumngh

0

あなたは計算され

label.Content = ""; 

ので、これはあなたがあなたのFormatException与え

Convert.ToInt32("") 

を計算していることを意味します。あなたはそれをを上書きする前に

おそらく、あなたはlabel.Contentの値を使用する必要がありますか?

関連する問題