验证用户是否未在 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# 的新手,所以任何帮助将不胜感激:)

验证用户是否未在 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$");
将检查字符串是否为整数,实际上它检查

单个数字是否为整数,下面的链接显示了如何修改它以检查完整的字符串。

(代码来自这个问题:正则表达式仅适用于数字)