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

     1、(int)是类型转换,能够使用(int)进行强类型转换的只能是数值类型,如long、short、double等,这种转换时需要考虑精度问题。

    如下的代码就行不通了:
    string text = "1234";
    int id = (int)text;
    2、Convert.ToInt32是内容转换 如下代码中,text 实际上储存的是一个数值,我们希望把这个数值提取出来并以 int 的形式使用,那么就需要进行内容转换了,
    即 string text = "1234";
    int id = Convert.ToInt32(text);
    此外,Convert.ToInt32 有很多重载版本,例如 Convert.ToInt32(double value),当用这个版本来把一个double转换成 int 时,ToInt32 会检查被转换的数值是否能够用 int 表示,即是否会发生“越界”,如果是就会抛出OverflowException异常,否则就会转换,但使用 (int) 进行强制转换,如果被转换的数值大于Int32.MaxValue,那么你将得到一个错误的结果,例如下面的代码:
    double d = Int32.MaxValue + 1.1412; int i = (int)d;
    无论你进行什么数值转换,精度问题都是必须考虑的。
    3、int.parse和Convert.ToInt32没太大差别,最大的不同是它们对null值的处理方法。
    Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常。
  • 相关阅读:
    读写excel文件
    数据库操作
    django项目搭建
    django基础
    string
    random函数
    vue-typescript入门
    Visual Studio 2019配置vue项目
    js css+html实现简单的日历
    python接口自动化4-绕过验证码登录(cookie)
  • 原文地址:https://www.cnblogs.com/powerzhang/p/3301405.html
Copyright © 2011-2022 走看看