float i=float.Parse(TextBox1.Text);
if(i不是浮点数) 

Page.RegisterStartupScript("alert"," <script>alert('你输入的数不是数字,请重新输入'); </script>"); 

解决方案 »

  1.   

    try
    {
    }
    catch
    {
    }或者正则 ^(+-)?\d+(.\d+)?$
      

  2.   

    bool result;
    result=float.Parse(TextBox1.Text,out result); 
    if(!result) 

    Page.RegisterStartupScript("alert"," <script>alert('你输入的数不是数字,请重新输入'); </script>"); 

      

  3.   


    try
    {
        int i=int.Parse(TextBox.text)
    }
    catch
    {
    Page.RegisterStartupScript("alert"," <script>alert('你输入的数不是数字,请重新输入'); </script>"); }
      

  4.   

    错了,应该是TryParse()bool result; 
    result=float.TryParse(TextBox1.Text,out result); 
    if(!result) 

    Page.RegisterStartupScript("alert"," <script>alert('你输入的数不是数字,请重新输入'); </script>"); 
      

  5.   

    楼上的这位兄弟,我用的是VS2003,照你这种写法,提示float并不包含TryParse的定义?这是怎么回事呢?
      

  6.   

    注意:此方法在 .NET Framework 2.0 版中是新增的。1。最简单的是try..catch
    2。判断,一般是用正则表达式
      

  7.   

    可以在文本框的KeyPress事件中添加代码进行判断:
    private void txtpnum_KeyPress(object sender, KeyPressEventArgs e)
            {
                if ((e.KeyChar != 8 && !char.IsDigit(e.KeyChar)) && e.KeyChar != 13)
                {
                    MessageBox.Show("请输入数字");
                    e.Handled = true;
                }
            }
      

  8.   

    问题解决,我是这样做的,就是用正则表达式去验证,将要验证的值传入CheckIsNumber这个方法就好了!
    public bool CheckIsNumber(string sSrc)
    {
    Regex regex = new Regex("^\\d+(\\.\\d+)?$");
    if (regex.IsMatch(sSrc))
    {
    return true;
    }
    else
    {
    return false;
    } }    
      

  9.   

    Type.Parse(string strValue,out double dOutValue);
      

  10.   


    double.TypeParse(string strValue,out double dOutValue);
    呵呵 
      

  11.   

    protected bool Check()
            {
                Regex r = new Regex(GetRegexString());
                if (!r.Match(this.Text).Success)
                {
                    return true;
                }
                return false;
            }
     private const string REGEX_STRING = @"^-?([1-9]{0,F}|[1-9]{0,F}\.|[1-9]{0,F}\.[0-9]{0,B}|[1-9]\d{0,F}|[1-9]\d{0,F}\.|
                                         [1-9]\d{0,F}\.[0-9]{0,B}|0|0\.|0\.[0-9]{0,B})$";        protected override string GetRegexString()
            {
                return REGEX_STRING.Replace
                      ("F", (this._forwardDotLength - 1).ToString()).Replace  ("B",this._behindDotLength.ToString());
            }
      

  12.   


    private bool IsNumeric(string number)
            {
                //TODO:判断是否是数字
                try
                {
                    number = number.Replace(".", "");   //去掉小数点                for (int i = 0; i < number.Length; i++) //判断是否为纯数字
                    {
                        if (!char.IsNumber(number, i))
                        {
                            return false;
                        }
                    }
                    return true;
                }
                catch
                {
                    return false;
                }
            }