简单问题,高分相送。如何判断输入的是数字。 if(System.Text.RegularExpressions.Regex.IsMatch(textBox1.Text,@"^\d*$")){//coding here} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 KeyPress事件验证输入的是不是数字的几个ASCAll,也不多就0-9 和.一个select Case 语句就差不多了,ASCALL不是这些的就不是数字 private bool ChkTxt(string txt){ try { int k = Convert.ToInt32(txt); return true; } catch { return false; } } using System;public class IsNumberSample { public static void Main() { string str = "non-numeric"; Console.WriteLine(Char.IsNumber('8')); // Output: "True" Console.WriteLine(Char.IsNumber(str, 3)); // Output: "False" }} 正则表达式System.Text.RegularExpressions.Regex.IsMatch(TextBox.Text,@"^\d*$")) try{ int.parse(txt);}catch{ MessageBox.Show("不是数字");} 不好意思,忘了说明,我要求不能用验证控件。想找一个类似VB中IsNumeric 的函数。 用脚本javascript的isNaN(变量)函数 在TextBox的KeyPress事件private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) { if((Convert.ToUInt64(e.KeyChar)<48||Convert.ToUInt64(e.KeyChar)>57)&&Convert.ToUInt64(e.KeyChar)!=8) { e.Handled = true; } }其中只有0~9和小键盘的0~9还有BackSpace键可以使用,当然有些Tab特定的还是可以用的,但它不是输入键,输入键都屏蔽掉了注意:我要全部的分数! 在keypress事件中使用如下的可以输入的有数字,回车,tab,小数点if ( !(((e.KeyChar >= (char)48) && (e.KeyChar <= (char)57)) || (e.KeyChar == (char)13) || (e.KeyChar == (char)46) || (e.KeyChar == (char)45) || (e.KeyChar == (char)8))){e.Handled = true;} 给你一个考过去就可以直接调用的方法:private void JudgeNum(TextBox rtb) { string str = rtb.Text; int j = str.IndexOf("..",0); if(j>0) { MessageBox.Show("无效的输入!"); rtb.Text = ""; rtb.Focus(); } for(int i = 0; i < str.Length; i++) { if(str[i] >= '0' && str[i] <= '9') continue; else { MessageBox.Show("无效的数字输入!","错误",MessageBoxButtons.OK,MessageBoxIcon.Error); rtb.Text = ""; rtb.Focus(); return; } } } 在TextBox的TextBox_TextChanged事件中调用。 怎么从一个对话框中获得另一个对话框中的一个gridview的名称 100分请教DataGrid中回车换行的问题 listview显示文件数目有限制吗? 求解正则表达式 看看这个运行的结果,大家猜猜先,不要上机测试! 让电脑执行一直自动重启的命令,有什么办法? C# 多线程和界面交互问题 linq to xml如何查找指定节点的指定子节点 如何向数据库批量插入数据 winform程序 读取不定时跟新的数据 界面需要同步显示 如何解决 我用DataGrid数据绑定删除后要刷新!怎么做啊! int.Parse和Convert.ToInt32有区别吗?
一个select Case 语句就差不多了,ASCALL不是这些的就不是数字
{
try
{
int k = Convert.ToInt32(txt);
return true;
}
catch
{
return false;
}
}
using System;public class IsNumberSample {
public static void Main() {
string str = "non-numeric"; Console.WriteLine(Char.IsNumber('8')); // Output: "True"
Console.WriteLine(Char.IsNumber(str, 3)); // Output: "False"
}
}
System.Text.RegularExpressions.Regex.IsMatch(TextBox.Text,@"^\d*$"))
{
int.parse(txt);
}
catch
{
MessageBox.Show("不是数字");
}
想找一个类似VB中IsNumeric 的函数。
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if((Convert.ToUInt64(e.KeyChar)<48||Convert.ToUInt64(e.KeyChar)>57)&&Convert.ToUInt64(e.KeyChar)!=8)
{
e.Handled = true;
}
}其中只有0~9和小键盘的0~9还有BackSpace键可以使用,当然有些Tab特定的还是可以用的,但它不是输入键,输入键都屏蔽掉了注意:我要全部的分数!
可以输入的有数字,回车,tab,小数点
if ( !(((e.KeyChar >= (char)48) && (e.KeyChar <= (char)57)) || (e.KeyChar == (char)13) || (e.KeyChar == (char)46) || (e.KeyChar == (char)45) || (e.KeyChar == (char)8)))
{
e.Handled = true;
}
private void JudgeNum(TextBox rtb)
{
string str = rtb.Text;
int j = str.IndexOf("..",0);
if(j>0)
{
MessageBox.Show("无效的输入!");
rtb.Text = "";
rtb.Focus();
}
for(int i = 0; i < str.Length; i++)
{
if(str[i] >= '0' && str[i] <= '9')
continue;
else
{
MessageBox.Show("无效的数字输入!","错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
rtb.Text = "";
rtb.Focus();
return;
}
}
}