zoukankan      html  css  js  c++  java
  • (int)、int.Parse()、int.TryParse()、Convert.ToInt32()区别

    请看代码:

    //1、null。
    //int i1 = (int)null;//编译时报错:无法将“null”转换为“int”,因为后者是不可以为“null”的值类型。
    //int i2 = int.Parse(null);//执行时报错:“System.ArgumentNullException”,值不能为 null。
    //int i3;
    //bool b1 = int.TryParse(null, out i3);//b1 = False,i3 = 0。
    //int i4 = Convert.ToInt32(null);//i4 = 0。
    
    //2、""。
    //string s1 = "";
    //int i1 = (int)s1;//编译时报错:无法将“string”装换为“int”。
    //int i2 = int.Parse(s1);//执行时报错:“System.FormatException”,输入字符串的格式不正确。 
    //int i3;
    //bool b1 = int.TryParse(s1, out i3);//b1 = False,i3 = 0。
    //int i4 = Convert.ToInt32(s1);//执行时报错:“System.FormatException”,输入字符串的格式不正确。 
    
    //3、小数。
    //double d1 = 1.2D;
    //double d2 = 1.5D;
    //double d3 = 1.8D;
    //int i1 = (int)d1;//i1 = 111。
    //int i2 = int.Parse(d1.ToString());//执行时报错:“System.FormatException”,输入字符串的格式不正确。 //int i3; //bool b1 = int.TryParse(d1.ToString(), out i3);//b1 = False,i3 = 0。 //int i4 = Convert.ToInt32(d3);//i4 = 122 //4、整数。 //byte b1 = 10; //int i1 = (int)b1;//i1 = 10。 //int i2 = int.Parse(b1.ToString());//i2 = 10。 //int i3; //bool b2 = int.TryParse(b1.ToString(), out i3);//b2 = True,i3 = 10。 //int i4 = Convert.ToInt32(b1);//i4 = 10。

    总结如下:

    (int)数字类型:整型取整,小数取整(不存在四舍五入),其他类型异常。

    int.Parse(整型.ToString()):整型.ToString()取整,其他类型异常。

    int.TryParse(整型.ToString(), out int i):整型.ToString()取整,返回True,其他类型返回0,返回False。

    Convert.ToInt32(多种类型):数字类型.ToString()取整,null取0,其他类型异常。其中,如果值是两个数字中间的小数,返回二者中的偶数,其余正常四舍五入,比如3.4返回3,3.5返回4,3.6返回4。Convert.ToInt32()首先判断值是否为null,如果值为null,返回0。

    以上是我对(int)、int.Parse()、int.TryParse()、Convert.ToInt32()的理解,希望可以给需要的朋友带来帮助。

  • 相关阅读:
    class-dump + DumpFrameworks.pl
    使用 U盘 重装 Mac OSX
    本地化应用程序
    UINavigationBar 总结
    Xcode 杂七杂八
    App 打包并跳过 AppStore 的发布下载
    Summary of Mac Versions
    QT5安装(null)
    如何实现LAN或WAN远程开机?
    DELL 8700重装系统
  • 原文地址:https://www.cnblogs.com/treeskyer/p/12769857.html
Copyright © 2011-2022 走看看