using System.Text.RegularExpressions;
...
string str;
...
if(str != null && Regex.IsMatch(str,@"^\d+$"))
{
 // 是数字
}
else
{
 // 不是数字
}

解决方案 »

  1.   

    if((int)e.KeyChar>=48&(int)e.KeyChar<=57|(int)e.KeyChar==8)
        {
      e.Handled=false;     
        }
        else
       {
    e.Handled=true;
       }
      

  2.   

    也可以用脚本限制用户的输入,下面给个例子
    <script language="javascript">
    function onlyNum() 

    if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105) || event.keyCode == 8 || event.keyCode == 9)) event.returnValue=false; 

    </script>
    <asp:TextBox id="TextBox1" onkeydown="onlyNum()"  style="
      

  3.   

    Sunmast(速马, Reloading...) 用函数判断数字倒是省事。我有时用ASCII码作判断,还是不如你啊!如果代码处于底层,用throw抛出错误到界面
      

  4.   

    char aa=Convert.ToChar(e.KeyChar);
    int bb=(int)aa;
    if((bb>=48 && bb<=57) || bb==8)
    {
    e.Handled=false;
    }
    else
    {
    e.Handled=true;
    }
    这样应该可以的,试一下