2017-03-16 64 views
0

當我在文本框中鍵入數字以使其格式化時,出現錯誤消息。當我使用此代碼鍵入:在C中格式化文本框時出錯#

private void textBoxX1_TextChanged(object sender, EventArgs e) 
    { 
     textBoxX1.Text = string.Format("{0:F}",double.Parse(textBoxX1.Text)); 
     string txtval = textBoxX1.Text; 

     } 

我只希望兩位小數進行格式化,所以如果我輸入100文本框格式,它100.00。然後通過該值變量txtval 但給我這個錯誤:

Input string was not in a correct format.

+0

可能有[如何解決]的重複輸入字符串格式不正確。錯誤?](http://stackoverflow.com/questions/12269254/how-to-resolve-input-string-was-not-in-a-correct-format-error) –

回答

0

我建議使用的TryParse,而不是解析,以避免異常。

0

您應該使用TryParse來首先驗證您是否可以解析文本框中的內容。你會得到這個異常,因爲文本框中的值不能被解析爲double。你應該修改你的代碼看起來像這樣:

private void textBoxX1_TextChanged(object sender, TextChangedEventArgs e) 
{ 
    double value = 0.00; 

    if (double.TryParse(textBoxX1.Text, out value)) 
    { 
     textBoxX1.Text = string.Format("{0:F}", value); 
     string txtval = value.ToString(); 
    }  
} 

這樣做是首先驗證在文本框中的值可以解析爲double,然後格式化並把它添加到文本框。