验证用户是否未在 C# 中输入小数
本文关键字:输入 小数 用户 是否 验证 | 更新日期: 2024-11-03 20:36:29
if (double.TryParse(txtDays.Text, out days) == false)
{
MessageBox.Show("Enter a whole number for days.", Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
txtDays.Focus();
return;
}
我是 C# 的新手,所以任何帮助将不胜感激:)
您要防止用户输入小数分隔符吗? 所以他只能使用整数?然后不要尝试解析为 double
而是解析为 int
:
if (!int.TryParse(txtDays.Text.Trim(), out days))
{
MessageBox.Show("Enter a whole number for days.", Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
txtDays.Focus();
return;
}
也许使用uint.TryParse
更好,因为这可以防止-
符号,但这取决于是否可能出现负日。
但是您应该考虑使用 NumericUpDown
控件
有多种方法,此处介绍了所有方法:
如何制作只接受数字的文本框?
最常见的方法是使用 NumericUpDown
控件而不是 TextBox
。
如果你想要一个消息框,Tim的答案几乎正是你所需要的。
我怀疑你最好使用正则表达式来检查这一点。以下代码:
Regex regex = new Regex(@"^'d$");
将检查字符串是否为整数,实际上它检查单个数字是否为整数,下面的链接显示了如何修改它以检查完整的字符串。
(代码来自这个问题:正则表达式仅适用于数字)