.NET类型转型的四种做法(转)
.NET类型转型的四种做法:
◆ 强制转型:(int)变量名称
◆ int.Parse(字符串变量名称)
◆ Convert.To类型(变量名称)
◆ TryParse
强制转型 (casting)
◆ 浮点数会做无条件舍去,失去精确度
◆ 可处理 object 转 int,但遇到 object 为 null 时会产生 error
◆ 某些情况下,如 object 转型成 int,有时正常,但有时会无故发生 error,原因不明
◆ 无法处理 string 转 int (程序中常会用到的功能)
◆ 千万不可用来处理 char 类型,否则传回的是 ASCII 码,而不是字面上的数字
int.Parse(字符串变量名称)
◆ 只能处理 string 转 int 或其它类型,无法处理 string 以外的类型,功能有限
◆ 遇到 string 为 null 或 string.Empty 时,仍会造成程序 error
◆ 亦可变化使用:「类型.Parse(string)」,但参数只能丢 string
Convert.To类型(变量名称)
◆ 可处理所有 .NET 的类型、功能完整
◆ 可处理 null,几乎不会因转型造成程序 error
◆ 透过「Convert.ToInt32(变量)」转型成 int 时,变数若为 object 或 string 类型,当其值为 null 时,会传回 0,不会造成程序 error
◆ 续前一点,若此 string 类型的变量,其原始值为 string.Empty,在转型成 int 时,仍会造成程序 error
◆ 浮点数会做四舍五入
◆ 千万不可用来处理 char 类型,否则传回的是 ASCII 码,而不是字面上的数字
测试范例:
protected void Page_Load(object sender, EventArgs e) |
遇到要特别注意数字、金额精确度的项目时,应特别注意。
TryParse
这个方法是 .NET Framework 2.0 版的新功能。将数字的字串表示转换成它的对等32 位元帶正负号的整数。传回指示作业是否成功的值。 TryParse 方法与 Parse 方法类似,除了TryParse 方法在转换失败時不会掷回例外状况以外。
.NET类型转型的四种做法(转)的更多相关文章
- C++ socket 传输不同类型数据的四种方式
使用socket传输组织好的不同类型数据,有四种不同的方式(我知道的嘿嘿): a. 结构体 b. Json序列化 c. 类对象 d. protobuf 下面逐一整理一下,方便以后进行项目开发. 1. ...
- JS判断是否是数组的四种做法
一.前言 如何判断一个对象或一个值是否是一个数组,在面试或工作中我们常常会遇到这个问题,既然出现频率高,想着还是做个整理,那么本文主要基于几种判断方式,以及方式判断的原理,是否存在问题展开讨论. 二. ...
- JS判断是否是数组的四种做法(转载)
转载来源 https://www.cnblogs.com/echolun/p/10287616.html 一.前言 如何判断一个对象或一个值是否是一个数组,在面试或工作中我们常常会遇到这个问题,既然出 ...
- UNICODE串转换成char类型串的四种方法
1. 调用 WideCharToMultiByte() API int WideCharToMultiByte ( UINT CodePage, //1 U ...
- Delphi中定义了四种布尔类型:Boolean,ByteBool,WordBool和LongBool。后面三种布尔类型是为了与其他语言兼容而引入的
bool是LongBool类型. Delphi中定义了四种布尔类型:Boolean,ByteBool,WordBool和LongBool.后面三种布尔类型是为了与其他语言兼容而引入的,一般情况下建议使 ...
- ORCAL 数据库的约束以及SQL语言的四种类型
oracle数据库约束: 定义:要输入的这个值是一个什么样的值, 或者是哪个范围内的值 作用: 确保完整性, 确保精确性 1, 非空约束(not null) 记录一条信息的时候如果用户名和密码没有被记 ...
- JavaScript数据类型判断的四种方法
码文不易啊,转载请带上本文链接呀,感谢感谢 https://www.cnblogs.com/echoyya/p/14416375.html 本文分享了JavaScript类型判断的四种方法:typeo ...
- C#中方法的参数的四种类型
C#中方法的参数有四种类型: 1. 值参数类型 (不加任何修饰符,是默认的类型) 2. 引用型参数 (以ref 修饰符声明) 3. 输出型参数 (以out 修 ...
- C++中的四种转型操作符
在具体介绍C++中的四种转型操作符之前,我们先来说说旧式转型的缺点: ①它差点儿同意将不论什么类型转换为不论什么其它类型,这是十分拙劣的.假设每次转型都可以更精确地指明意图,则更好. ②旧式转型难以辨 ...
随机推荐
- Java经典问题
1.JAVA初学者都应该搞懂的问题 对于这个系列里的问题,每个学Java的人都应该搞懂.当然,如果只是学Java玩玩就无所谓了.如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行 ...
- HDU 2494/POJ 3930 Elevator(模拟)(2008 Asia Regional Beijing)
Description Too worrying about the house price bubble, poor Mike sold his house and rent an apartmen ...
- python学习摘要(2)--基本数据类型
python申请存储空间是动态的.变量如同指针一样指向存储空间.多个变量会指向同一个存储空间(节省空间).当变量改变时,原来的地址单元并不会马上释放.(引用计数自行回收) c/c++根基性语言,想要什 ...
- Java中I/O流之Print流
Java 中的 print 流: print 流用于做输出将会非常的方便,并且具有以下特点: 1. printWriter.printStream 都属于输出流,分别针对字符,字节. 2. print ...
- lintcode-163-不同的二叉查找树
163-不同的二叉查找树 给出 n,问由 1...n 为节点组成的不同的二叉查找树有多少种? 样例 给出n = 3,有5种不同形态的二叉查找树: 标签 卡特兰数 动态规划 思路 参考博客http:// ...
- PokeCats开发者日志(十一)
现在是PokeCats游戏开发的第六十天的上午,易版权的状态变为了待收证,但愿不久就能送到了吧.
- nginx的平滑升级,不间断服务
nginx的平滑升级,不间断服务 Nginx更新真的很快,最近nginx的1.0.5稳定版,nginx的0.8.55和nginx的0.7.69旧的稳定版本已经发布.我一项比较喜欢使用新版本的软件, ...
- C的强制转换和C++的强制转换(转)
C的强制转换: (type)<expression> 其中,type为类型描述符,如int,float等.<expression>为表达式.经强制类型转换运算符运算后,返回一个 ...
- mysql向上递归&向下递归
工作记录 向上递归函数test: BEGIN ); ); SET sTemp = '$'; SET sTempChd =cast(rid as CHAR); WHILE sTempChd is not ...
- Redis集群分布(Windows版)
Redis系列 作者Mr.Chen,转载请注明博客出处:http://www.cnblogs.com/cjh-notes/ 第一步:下载安装redis windows版的下载地址:https://gi ...