[英]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.