簡體   English   中英

C#文本框-僅接受范圍內的浮點數

[英]c# text box - Accept only floating point numbers inside a range

每當用戶嘗試輸入不在[0, 24]范圍內的數字時[0, 24]它都會顯示一條錯誤消息。 我接受浮點數的代碼如下。 如何修改它以添加范圍驗證?

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

我知道這樣不鼓勵僅將鏈接發布為答案,但在這種情況下,鏈接是問題的直接和完整答案。

驗證類別

我建議使用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 = " ";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM