(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 = 1\1\1。
//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 = 1\2\2 //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()的理解,希望可以给需要的朋友带来帮助。
(int)、int.Parse()、int.TryParse()、Convert.ToInt32()区别的更多相关文章
- C# 使用int.TryParse,Convert.ToInt32,(int)将浮点类型转换整数时的区别
int.TryParse,Convert.ToInt32,(int) 这几种类型在将浮点类型转换整数时是有差别 Convert.ToInt32则会进行四舍五入 int.TryParse只能转换整数,即 ...
- Convert.ToInt16 与 Convert.ToInt32 区别
取值的范围不同: int16:-32768 到 32767 int32:-2,147,483,648 到 2,147,483,647
- .net中三种数据类型转换区别((int),Int32.Parse() 和 Convert.toInt32() )
(typename)valuename,是通用方法: Convert类提供了灵活的类型转换封装: Parse方法,适用于向数字类型的转换. 例如,(int),Int32.Parse() 和 Conve ...
- (int),Convert.ToInt32(),Int32.Parse(),Int32.TryParsed()的用法总结
1 (int) 强制转型为整型. 当将long,float,double,decimal等类型转换成int类型时可采用这种方式. double dblNum = 20; int intDblNum = ...
- C#中(int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别
转自:http://www.cnblogs.com/leolis/p/3968943.html 在编程过程中,数据转换是经常要用到的,C#中数据转换的方法很多,拿将目标对象转换为 整型(int)来讲, ...
- C#中(int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别 <转>
作者:Statmoon 出处:http://leolis.cnblogs.com/ 在编程过程中,数据转换是经常要用到的,C#中数据转换的方法很多,拿将目标对象转换为整型(int)来讲,有四种方法 ...
- (int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别
C#中(int).int.Parse().int.TryParse()和Convert.ToInt32()的区别 原文链接:http://www.cnblogs.com/leolis/p/3968 ...
- c#中(int)、int.Parse()、int.TryParse、Convert.ToInt32的区别
本文来自:http://blog.csdn.net/tangjunping/article/details/5443337 以前经常为这几种数据类型转换方式而迷茫,这次为了彻底搞清它们之间的区别和优缺 ...
- C#中Convert.ToInt32、int.TryParse、(int)和int.Parse四者的区别
Convert.ToInt32.(int)和int.Parse三者的区别: 首先:Convert.ToInt32 适合将object类类型转换成int类型,如Convert.ToInt32(sessi ...
随机推荐
- 用tensorflow搭建RNN(LSTM)进行MNIST 手写数字辨识
用tensorflow搭建RNN(LSTM)进行MNIST 手写数字辨识 循环神经网络RNN相比传统的神经网络在处理序列化数据时更有优势,因为RNN能够将加入上(下)文信息进行考虑.一个简单的RNN如 ...
- Codeforces_814
A.b序列从大到小填a序列中的0,在判断. #include<bits/stdc++.h> using namespace std; ],b[]; int main() { ios::sy ...
- 国内jenkins搭建不再龟速的方式
最新国内jenkisn搭建过程 第一步下载jenkins 点击进入清华源jenkins下载地址,我们下载的是jenkins-2.204.2.zip版本 之后解压后安装. 第二步配置管理员密码 自动弹出 ...
- 【转载】Java的Vector,ArrayList,LinkedList
首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList.Vector和LinkedList.List用于存放多个元素,能够维护元素的次序,并且允许元素的重复.3个具体 ...
- 教你如何用Vue自己实现一个message插件
今天我们来自己动手用实现一个message插件: Vue.js 的插件应该暴露一个 install 方法.这个方法的第一个参数是 Vue 构造器,第二个参数是一个可选的选项对象: //message. ...
- css中的盒子模型是什么?
什么是CSS 盒子模型(Box Model) 所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用. CSS盒模型本质上是一个盒子,封装周 ...
- DotNet 源码学习——QUEUE
1.Queue声明创建对象.(Queue为泛型对象.) public class Queue<T> :IEnumerable<T>,System.Collections.ICo ...
- Android中DatePicker日期选择器的使用和获取选择的年月日
场景 实现效果如下 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 将布局改 ...
- 「Flink」事件时间与水印
我们先来以滚动时间窗口为例,来看一下窗口的几个时间参数与Flink流处理系统时间特性的关系. 获取窗口开始时间Flink源代码 获取窗口的开始时间为以下代码: org.apache.flink.str ...
- Ubuntu系统下使用php7+mysql+apache2搭建自己的博客
很多人都有写博客的习惯,奈何国内的博客网站正在一家家地关闭与重整,部分博客网站也充斥着太多的广告,使用体验非常不好.对于爱写博客的朋友来说,其实还有一个更好的选择,那就是自己搭建一个博客. 搭建一个自 ...