【发布时间】:2013-08-26 17:13:20
【问题描述】:
我的目标:我希望文本框接受十进制数字,例如 123.45 或 0.45 或 1004.72。如果用户输入 a 或 b 或 c 等字母,程序应显示一条消息,提醒用户只输入数字。
我的问题:我的代码只检查像 1003 或 567 或 1 这样的数字。它不检查像 123.45 或 0.45 这样的十进制数。如何让我的文本框检查十进制数字?以下是我的代码:
namespace Error_Testing
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
string tString = textBox1.Text;
if (tString.Trim() == "") return;
for (int i = 0; i < tString.Length; i++)
{
if (!char.IsNumber(tString[i]))
{
MessageBox.Show("Please enter a valid number");
return;
}
}
//If it get's here it's a valid number
}
}
}
我是新手,提前感谢您的帮助。 :)
【问题讨论】:
-
一方面..你没有处理'.'特点。当他们在文本框中输入这个时会发生什么?
-
您是想自己写支票还是可以使用内置支票?这在使用
decimal.TryParse或double.TryParse的.NET 中是微不足道的。 -
@JonLaMarr:如果我在文本框中输入 123.,屏幕上会出现一个对话框:“请输入有效数字”。这意味着文本框不检查十进制数字。
-
@cadrell0:是的,我可以使用内置的或者更简单的。但是,我不知道该怎么做,因为这是我最初的几次 C# 编码尝试之一。
-
@Smith NewHire 的回答非常简单。
标签: c#