zoukankan      html  css  js  c++  java
  • 类型转换之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类型范围大,所以要进行显式的强制转换,否则会产生编译错误。

  • 相关阅读:
    [LeetCode] 1898. Maximum Number of Removable Characters
    [LeetCode] 1897. Redistribute Characters to Make All Strings Equal
    [LeetCode] 1400. Construct K Palindrome Strings
    235. 二叉搜索树的最近公共祖先
    349. 两个数组的交集
    海量数据TOPK 问题
    121. 买卖股票的最佳时机
    删除数组中为0元素
    这行字符串中出现频率最高的字符
    50. Pow(x, n)
  • 原文地址:https://www.cnblogs.com/erchen/p/4399607.html
Copyright © 2011-2022 走看看