一个string 类型的数据,如何判断它可以转换成int类型?
比如string str="135"可以转换成整型,但是string str="16gdfv4"就不能转换成整型

解决方案 »

  1.   

    sorry,错的try
    Int32.Parse转换,不能抛出异常
      

  2.   

    那就挨个挨个看该字符串中的每一个char是不是数字呗.
    如果楼上说的方法不行的话.
      

  3.   

    bool IsInt(string input)
            {
                for (int i = 0; i < input.Length; i++)
                {
                    if (!char.IsNumber(input, i))
                        return false;
                }
                return true;
            }
      

  4.   

    bool ret;
    int myNumber;
    try
     {  
        myNumber = Convert.ToInt32(str);
         ret = true;
     }
    catch
    {
       ret = false;
    }
      

  5.   

    用正则表达式先判断一下
    这个是用来表示所以 数值 类型的。 包括了浮点数
    bool isNumber(string str)
    {
    Regex reg = new Regex(@"^\d+([.]\d+)?$"); return reg.Match(str).Success;
    }
      

  6.   

    和xinyangt(信仰t)的方法一样
    ----------
    try
     {  
        myNumber = Convert.ToInt32(str);
         ret = true;
     }
    catch
    {
       ret = false;
    }
      

  7.   

    判断是否是整形:
    bool IsInt(string input)
            {
                for (int i = 0; i < input.Length; i++)
                {
                    if (!char.IsNumber(input, i))
                        return false;
                }
                return true;
            }再Int32.Parse转换~
      

  8.   

    可以使用 Int32.TryParse 方法(.Net 2.0 中):Int32.TryParse 方法将数字的字符串表示形式转换为它的等效 32 位有符号整数。一个指示操作是否成功的返回值。 C# 
    public static bool TryParse (
    string s,
    out int result
    )
     参数
    s
    包含要转换的数字的字符串。 result
    当此方法返回时,如果转换成功,则包含与 s 所包含的数字等效的 32 位有符号整数值;如果转换失败,则包含零。如果 s 参数为 空引用(在 Visual Basic 中为 Nothing),格式不正确,或者表示的数字小于 MinValue 或大于 MaxValue,则转换会失败。该参数未经初始化即被传递。 返回值
    如果 s 转换成功,则为 true;否则为 false。 
    备注
    TryParse 方法类似于 Parse 方法,不同之处在于 TryParse 方法在转换失败时不引发异常。s 参数包含一个如下形式的数字: [ws][sign]digits[ws] 方括号([ 和 ])中的项是可选的;其他项的值如下所示。ws 
    可选的空白。 sign 
    一个可选符号。 digits 
    一系列从 0 到 9 之间的数字。 s 参数是使用针对当前系统区域性初始化的 NumberFormatInfo 对象中的格式设置信息分析的。有关更多信息,请参见 CurrentInfo。示例
    下面的代码示例演示几个基类型的 TryParse 重载方法以及 TryParseExact 方法的重载方法。
     
    C#  using System;class Sample 
    {
        public static void Main() 
        {
        Int32    int32Val;
    // Int32
        result = Int32.TryParse("3", NumberStyles.Integer, null, out int32Val);
        Show(result, "Int32", int32Val.ToString());
        }    protected static void Show(bool parseResult, string typeName, 
                                   string parseValue)
        {
        string msgSuccess = "Parse for {0} = {1}";
        string msgFailure = "** Parse for {0} failed. Invalid input.";
    //
        if (parseResult == true)
            Console.WriteLine(msgSuccess, typeName, parseValue);
        else
            Console.WriteLine(msgFailure, typeName);
       }
    }
    /*
    示例产生的输出:
    Parse for Int32 = 3
    */