是不是int32.parse(a)中的参数a,如果不是“12”,“-123”等数字形式的字符串,换成别的就会出错呢?

解决方案 »

  1.   

    public static int Parse(
    string s,
    IFormatProvider provider
    )ArgumentNullException s 为 null。
    FormatException s 的格式不正确。 
    OverflowException s 表示小于 MinValue 或大于 MaxValue 的数字。
     
      

  2.   

    只有一个参数的int32.parse()方法,默认类型是不是NumberStyles.AllowDecimalPoint呢?
      

  3.   

    int.Parst(string )//参数指明是用string类型
      

  4.   


    好像是里面是int32数字的字符串才行
      

  5.   

    可里面放一个“he”就不行,并不是所有string类型都行,其格式有一定限制
      

  6.   

    这种事看看msdn就行了,抄一段s 参数包含一个如下形式的数字: [ws][sign]digits[ws] 或者,如果 style 包含 AllowHexSpecifier:[ws]hexdigits[ws]方括号([ 和 ])中的项是可选的,其他的项如下所示。ws
    如果 style 允许,则为可选的空白。sign
    一个可选符号。digits
    由从 0 到 9 的数字组成的序列。hexdigits
    由从 0 到 f 或从 0 到 F 的十六进制数字组成的序列。provider 参数是一个获取 NumberFormatInfo 对象的 IFormatProvider。NumberFormatInfo 提供有关 s 格式的区域性特定信息。如果 provider 为 nullNothingnullptrnull 引用(在 Visual Basic 中为 Nothing),则使用当前区域性的 NumberFormatInfo。
      

  7.   

    int.TryParse这样就不会报错了。但你要在这后面加个判断,是否成功赋值。如果没有成功赋值说明里面的值是有问题的
      

  8.   

    int32.parse(a)的作用就是数字字符串转成Int32 ,如果 a不是表示的数字字符串,当然是出错的,。和javascript的paerInt是不同的
      

  9.   

    判断是否可正确转换,可以试一试下面这个
    int.TryParse()
      

  10.   

    int.tryparse()可以防止字符串为null
      

  11.   


    你以前没试过将字符转换为数字吗?
    你回去试下char ch='a';
    int i=(int) ch;
    console.writeline("the ASCII of {0} is {1}",ch,i);