int.Parse()、int.TryParse()和Convert.ToInt32()的区别

1:int.Parse(一个参数)  

     此参数必须满足:

1 只能是字符串;

2 只能是 “整型” 字符串,即各种整型ToString()之后的形式,也不能为浮点型。

2:int.TryParse(参数a,参数b);

此方法可以看做是int.Parse()方法的升级,即做了一个异常处理,如果出现异常则返回false,并且将输出参数返回0;

注意,参数a, 也必须是字符串或null即可

例如:

int b;
int.TryParse("54.1",out b);
Response.Write(b);

结果是:0

int b;
int.TryParse(null,out b);
Response.Write(b);

结果是:0

int b=12;
int.TryParse("fdfds",out b);
Response.Write(b);

结果是:0

int b=12;
int.TryParse("123456",out b);
Response.Write(b);

结果是:123456,不是12

3:Convert.ToInt32(一个参数)

此参数可以为多种类型,但这种字符串类型“dfadf”,“123.1”会报错

int b= Convert.ToInt32(null);
Response.Write(b);

结果:0

bool a = false;
int b= Convert.ToInt32(a);
Response.Write(b);

结果:0

int b= Convert.ToInt32(1253.1);
Response.Write(b);

结果:1253

int b= Convert.ToInt32(1253.5);
Response.Write(b);

结果:1254

时间: 2024-07-30 03:34:22

int.Parse()、int.TryParse()和Convert.ToInt32()的区别的相关文章

C#中(int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别

在编程过程中,数据转换是经常要用到的,C#中数据转换的方法很多,拿将目标对象转换为整型(int)来讲,有四种方法:分别为(int).int.Parse().int.TryParse()和Convert.ToInt32(),那么这四种方法对被转换对象有什么限制,以及各自之间有什么区别呢?相信很多童鞋也不能完全说清楚. 下面从被转换对象说起,在我们实际开发项目的过程中,我们碰到需要被转换的类型大概有3大类,分别是空值(NULL).数字类型(包含float,double,int,long等)和字符串(

C#中(int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别 <转>

作者:Statmoon 出处:http://leolis.cnblogs.com/ 在编程过程中,数据转换是经常要用到的,C#中数据转换的方法很多,拿将目标对象转换为整型(int)来讲,有四种方法:分别为(int).int.Parse().int.TryParse()和Convert.ToInt32(),那么这四种方法对被转换对象有什么限制,以及各自之间有什么区别呢?相信很多童鞋也不能完全说清楚. 下面从被转换对象说起,在我们实际开发项目的过程中,我们碰到需要被转换的类型大概有3大类,分别是空值

C#中(int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别以及ToString()和Convert.ToString()的区别

在计算关于“钱”的各种占比时,我遇到了各种问题. 例如: double a=1.4035; Console.WriteLine($"0.##输出:{a.ToString("0.##")}");   ①Console.WriteLine($"F2输出:{a.ToString("F2")}"); ②Console.WriteLine($"0.00输出:{a.ToString("0.00")}"

C#的(int) /int.Parse()/int.TryParse()/Convent.ToInt32()的区别--推荐使用Int.TryParse()

一.(int)变量名[强制类型转换]:  该转换方式主要用于数字类型转换,从int类型到long,float,double,decimal类型,可以使用隐式转换,但是从long类型到int类型就需要使用显式转换,也就是该数据类型转换方式,否则会产生编译错误. 该方式对于浮点数会做无条件舍去,失去精确度.当然,该方式也可以进行object到int得转换,但是,object的值要赋予int类型的值,否则会产生编译错误,而且object为null时也会出错.最后切忌的一点,千万不要用来处理char类型

Int.Parse()、Convert.toInt32()和(int)区别

通过网上的查询从而了解了Int.Parse().Convert.toInt32()和(int)区别. 一.定义上的差别 int类型表示一种整型,.NET Framework 类型为 System.Int32.而是用(int)表示显式强制类型转换,当从 int 类型到 long.float.double 或decimal 类型,称为隐式转换:当从从double 或decimal.float.long.int类型逐级转换时,称为显式强制类型转换.(对long 类型或是浮点型到int 类型的显式强制转

Int.Parse()与

int类型表示一种整型,.NET Framework 类型为 System.Int32.而是用(int)表示显式强制类型转换,当从int 类型到 long.float.double 或decimal 类型,称为隐式转换:当从从double 或decimal.float. long.int类型逐级转换时,称为显式强制类型转换.(对long 类型或是浮点型到int 类型的显式强制转换中使用,但是如果被转换的数值大于 Int32.MaxValue 或小于 Int32.MinValue,那么则会得到一个

C#中(int)、Conver.Toint32()、int.Parse()三种类型转换方式的区别与联系--C#基础知识

自己也是刚学习C#程序设计语言,总结了一点知识点,想分享给大家.毕竟刚学习这门语言,学得不深,哪里如果有错误,请帮个忙指出一下哈,谢谢! 1.(int)可用于单精度.双精度等其他数值类型的转换(到整型int),不能用于转换string类型,例如: 这里用(int)转换string是不可以的,系统会报错,程序是不能运行. using System.Collections.Generic; using System.Linq; using System.Text; using System.Thre

Int.Parse与ConvertToInt的区别

最近在公司做一个项目的时候,在某次 跟组长讨论的时候.对一个简单的线发生了一些讨论.感觉挺有收获的.现在来总结一下. 在代码开发的时候,底层代码,不要写try-catch.因为写异常处理之后,代码的执行效率会大大的降低.底层的代码,不写异常,但是要经过严格的测试,确保正确.而对于界面层来说,必须接收异常.程序崩溃是非常不友好的.而且也降低了用户对你程序的信任. 对几个小问题的整理: 1.try-catch是否影响效率 自己简单测试了一下,感觉不到效率有什么变化. 然后查找一系列相关博客.发现了一

数据类型转换的三种方式 Convert,parse和TryParse

以Int类型为例,具体说明Convert.ToInt32(object value),int.Parse(object value)和int.TryParse(string s,out int result)的用法 一.int.Parse int.Parse的底层实现原理(可以直接忽略,不需深究) [SecuritySafeCritical] internal static unsafe int ParseInt32(string s, NumberStyles style, NumberFor