• 类型转换之string变int


      

           int.parse()函数是将字符串类型转换成int类型。

           使用int.parse()不当,可能会抛出异常,分为以下三种:

    1. System.ArgumentNullException,即被转换的字符串的内容为Null;
    2. System.FormatException,字符串的内容不是数字;
    3. System.OverflowException,字符串在转换后不在int类型的可表示范围内,造成溢出。

    所以使用int.parse()来进行转换是很容易受到限制的,一般如果能确定被转换字符串的内容,只是进行简单地转换时,可以使用这种方法。如果输入字符串不定,或者先要对其进行判断时,可采用其他的转换方法,下面来介绍几种把string转换为int的其他函数

    1.int.TryParse

      int.TryParse与 int.Parse是比较类似的,但是它不会因被转换内容不合法而产生异常,转换成功返回true,转换失败返回false,最后一个参数为输出值,若转换失败,输出值为0.若成功,则返回转换后的int值。

    2.Convert.ToInt32()

      首先,Convert.ToInt32(),可以转换的类型比较多,可以将object类类型转换为int类型,而int.Parse若转换数字以外的类型就会报错。使用此函数时,若被转换内容为null时,返回0;若为“”,就会抛出异常;此方法与int.Parse也是较为类似的,实际上Convert.ToInt32() 内部调用了 int.Parse。

      还需要注意一些小的细节,当参数为两个相邻整数中间的数字时,返回二者中的偶数,若不是中间数,则采取四舍五入的方法。若int.Parse的参数为小数,则会报错:输入的字符串格式不正确。若用下面讲到的(int)方法,没有四舍五入,会进行强制转换。

    3.(int)

      (int)用于简单的类型转换,形式为(int)变量,C#默认类型为int32,不支持bool转化。是一种显式的强制转换,当我们从int类型到long、flout、double、decimal类型,可使用隐式转换,但当从long类型到int类型转换时,由于long类型范围大,所以要进行显式的强制转换,否则会产生编译错误。

  • 相关阅读:
    01_垂直居中body中的应用
    C++基础知识易错点总结(2)
    辗转相除求最大公约数
    C++基础知识易错点总结(1)
    类对象的建立方式总结
    LeetCode(131)Palindrome Partitioning
    基本套接字编程(7) -- udp篇
    LeetCode(124) Binary Tree Maximum Path Sum
    LeetCode(115) Distinct Subsequences
    LeetCode(97) Interleaving String
  • 原文地址:https://www.cnblogs.com/erchen/p/4399607.html
Copyright © 2020-2023  润新知