2013-05-05 42 views
0

只要用戶嘗試輸入的數字不在範圍​​中,它就會顯示一條錯誤消息。我接受浮點數的代碼如下。我如何修改它來添加範圍驗證?c#文本框 - 僅接受範圍內的浮點數

private void h(object sender, Windows.UI.Xaml.Controls.TextChangedEventArgs e) 
{   
    try 
    { 
     float time = float.Parse(hours.Text); 
    } 
    catch 
    { 
     label2.Text = "enter proper value "; 
     hours.Text = " "; 
    } 
} 
+2

'如果(時間> 0 &&時間<24)'?? – 2013-05-05 10:50:05

+0

你可以使用一個簡單的正則表達式並驗證正則表達式的輸入。同樣,這個正則表達式可以從配置文件中讀取,這樣就可以插入任何驗證邏輯並在運行時改變應用程序重新編譯時的行爲 – Saravanan 2013-05-05 11:50:51

回答

0

我建議使用float.TryParse,而不是在解析失敗的情況下構建try-catch塊。 TryParse將返回out變量中的解析值,如果解析成功,則返回true,否則返回false。再加上一個檢查,看看如果數字是0和24之間,和你有一些看起來像這樣:

float parsedValue; 

// If the parse fails, or the parsed value is less than 0 or greater than 24, 
// show an error message 
if (!float.TryParse(hours.Text, out parsedValue) || parsedValue < 0 || parsedValue > 24) 
{ 
    label2.Text = "Enter a value from 0 to 24"; 
    hours.Text = " "; 
} 
2

我知道,所以不鼓勵剛剛張貼的鏈接作爲一個答案,但在情況下,鏈接是對問題的直接和完整的答案。

Validation Class