请问在WinForms中如何判断文本框中的值是数字呢?
C#中有什么方法将字符串变成数值,如果值是字符+数字或全符的文的就返回0的呢?

解决方案 »

  1.   

    try
    {
        Double.Parse(textBox1.Text.Trim());
        //是数字
    }
    catch
    {
        //不是数字
    }
      

  2.   

    int i = 1234;
    string i_Type = i.GetType().ToString();long ii = 1234;
    string ii_Type = ii.GetType().ToString();float iii = 1234;
    string iii_Type = iii.GetType().ToString();-----------------------------得到的i_Type = "System.Int32";ii_Type = "System.Int64";iii_Type = "System.Single".其他的字符串处理楼主自己看着办吧?
      

  3.   

    函数:
    public bool IsNumber(string number)
    {
    return Regex.IsMatch(number, @"^[+|-]?(\d+(\.\d*)?|\d{1,2}(,\d{3})*(\.\d*)?)$");
    }调用:
    bool aa = IsNumber(this.textBox1.Text.Trim());if(aa==true)
    {
    MessageBox.Show("数字?OK");
    }
    else
    {
    MessageBox.Show("数字?No");
    }
      

  4.   

    using System.Text.RegularExpressions;
      

  5.   

    /// <summary>
    /// 是否为常数(不支持五笔状态下的中文数字)(匹配有理数)
    /// </summary>
    /// <param name="par">参数</param>
    /// <returns>bool</returns>
    private bool IsNotCommonValue(string par)
    {
    string matchstring = @"(^[1-9]\d*\.?[0-9]+$)|^\d$";//匹配有理数
    if(Regex.IsMatch(par, matchstring))
    {
    return false;
    }
    return true;
    }