zoukankan      html  css  js  c++  java
  • 关于int.Parse()的异常

    一、int.Parse(string 变量名)

    该方式是将数字内容的字符串转换为int类型

    1.如果字符串的内容为Null ,则抛出ArgumentNullException异常;

    2.如果字符串内容不是数字,则抛出FormatException异常;

    3.使用该方法只能处理字符串的内容,而且转换后的字符串内容要在int类型的可表示范围之内,若超出,则抛出OverflowException异常。

    二、在网上搜索相关内容,Convert.ToInt32()、int.Parse()、int.TryParse()、(int)这些函数都可以将其他类型转化为int型

    1.Convert.ToInt32()与int.Parse()的区别:

    (1)这两个方法的最大不同是它们对NULL值的处理方法:

        Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常

    (2)当参数是浮点数时:

       a. Convert.ToInt32(double value)
           如果 value 为两个整数中间的数字,则返回二者中的偶数;即 3.5转换为4,4.5 转换为 4,而 5.5 转换为 6。  不过4.6可以转换为5,4.4转换为4
       b. int.Parse("4.5") 
           直接报错:"输入字符串的格式不正确"

    (3)转换对象不同:

       a.int.Parse是转换String为int
       b.Convert.ToInt32是转换继承自Object的对象为int的

          当你得到一个object对象,你想把它转换为int,用int.Parse就不可以,要用Convert.ToInt32.

    2.int.TryParse()与int.Parse():

       int.TryParse()与 int.Parse() 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。  

       最后一个参数为输出值,如果转换失败,输出值为 0,如果转换成功,输出值为转换后的int值

    3.关于(int):

       (int)是一种类型转换;当我们把int类型转换到long,float,double,decimal类型,可以使用隐式转换,但是当我们从long类型到int类型就需要使用显式转换,否则会产生      编译错误。

    三、这是网上找到的代码,可作为以后的联系素材:

    class Program
    {
        static void Main(string[] args)
        {
            string str = "1,2,3,4,5,";
            Console.WriteLine(str.Substring(0, str.Length - 1));
     
            int nums = 0;
            string num = null;
            Int32.TryParse(num, out nums);
            Console.WriteLine(nums);
     
            /*
            int nums = 0;
            string num = "12345";
            Int32.TryParse(num, out nums);
            Console.WriteLine(nums);
             */
     
            nums = Convert.ToInt32(num);
     
            nums = int.Parse(num);
        }

    好啦~下周见~

  • 相关阅读:
    设计模式整理_单例设计模式
    设计模式整理_工厂模式
    设计模式整理_装饰者模式
    设计模式整理_观察者模式
    设计模式整理_策略模式
    JavaSE复习_7 异常
    JavaSE复习_6 枚举类
    JavaSE复习_5 Eclipse的常见操作
    pta编程题19 Saving James Bond 2
    ImportError: No module named PIL
  • 原文地址:https://www.cnblogs.com/baobaoni/p/4398602.html
Copyright © 2011-2022 走看看