(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 ...
 
随机推荐
- socket实现文件上传(客户端向服务器端上传照片示例)
			
本示例在对socket有了基本了解之后,可以实现基本的文件上传.首先先介绍一下目录结构,server_data文件夹是用来存放客户端上传的文件,client_data是模拟客户端文件夹(目的是为了测试 ...
 - 用赋值表达式作为bool值
			
enum Status { stOk, stQuit, stError }; int main() { Status status; int n; bool b1 = (status = stOk); ...
 - JumpServer部署与管理
			
一.JumpServer 堡垒机概述 JumpServer由Python/Django进行开发.使用GNU GPL v2.0开源协议.也是全球首款完全开源的堡垒机.同时配备了业界领先的Web Term ...
 - Linux中查看日志文件的正确姿势,求你别tail走天下了!
			
作为一个后端开发工程师,在Linux中查看查看文件内容是基本操作了.尤其是通常要分析日志文件排查问题,那么我们应该如何正确打开日志文件呢?对于笔者这种小菜鸡来说,第一反应就是 cat,tail,vi( ...
 - 使用gRPC-Web从浏览器调用.NET gRPC服务
			
我很高兴宣布通过.NET对gRPC-Web进行实验性支持.gRPC-Web允许从基于浏览器的应用程序(例如JavaScript SPA或Blazor WebAssembly应用程序)调用gRPC. . ...
 - Linux 邮件服务
			
三个要点 1.smtp协议 2.搭建本地邮件服务器 3.使用外部邮件服务器 实现邮件功能 1.smtp协议 SMTP(Simple Mail Transfer Protocol)即 ...
 - REDTEAM 指南---第四章 外部侦察
			
第四章 外部侦察 贡献者:Haythem Arfaoui 翻译BugMan 主动侦察 介绍 主动足迹涉及使用可以帮助您收集更多信息的工具和技术 有关目标的信息.与被动足迹不同的是,过程永远不会“触及” ...
 - Vue中的递归组件
			
递归函数我们都再熟悉不过了,也就是函数自己调用自己.递归组件也是类似的,在组件的template内部使用组件自身.那递归组件有什么使用场景呢? 我们都知道树这个数据结构就是一种递归的结构,因此我们可以 ...
 - 微信小程序组件构建UI界面小练手 —— 表单登录注册微信小程序
			
通过微信小程序中丰富的表单组件来完成登录界面.手机快速注册界面.企业用户注册界面的微信小程序设计. 将会用到view视图容器组件.button按钮组件.image图片组件.input输入框组件.che ...
 - centos7系统启动流程
			
前提:pc主机,MBR架构 第一步:post(power on system test)加电自检. pc机的主板上有个rom芯片(CMOS),加电后,cpu去找这个raw,然后读取里面的指令,检测机器 ...