.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++中的四种转型操作符之前,我们先来说说旧式转型的缺点: ①它差点儿同意将不论什么类型转换为不论什么其它类型,这是十分拙劣的.假设每次转型都可以更精确地指明意图,则更好. ②旧式转型难以辨 ...
随机推荐
- 软工1816 · Alpha冲刺(4/10)
团队信息 队名:爸爸饿了 组长博客:here 作业博客:here 组员情况 组员1(组长):王彬 过去两天完成了哪些任务 完成菜品信息的标定.量化以及整理成csv的任务 接下来的计划 & ...
- Java中的增强for循环
增强 for 循环 1. 增强的 for 循环对于遍历 Array 或 Collection 的时候相当方便. import java.util.*; public class Test { publ ...
- jsp连接MYSQL数据库教程(文字+图)
步骤: 1.在mysql官网下载JDBC驱动程序.网址:https://dev.mysql.com/downloads/connector/j/ 2.把里面的jar包(mysql-connector- ...
- 会话模型与SSO
关于会话模型其实网站已有很多帖子说明,其中有关于sessionid,cookie以及他们之间的关系,自己先了解吧 1 会话模型 会话模型是客户端和服务端交互的一种模型,会话模型友好的处理了客户端有无通 ...
- 201621123033 《Java程序设计》第5周学习总结
1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 接口 Comparable Comparator 1.2 尝试使用思维导图将这些关键词组织起来.注:思维导图一般不需要出现过多的 ...
- java 基础--继承--007
1,子类只能继承父类所有非私有成员 2,子类不能继承父类的构造方法,但可以通过super去访问父类构造方法 3,子类成员变量和父类成员变量名称不一样,如果一样类似于重写,按子类处理,如果一样,就近原则 ...
- [剑指Offer] 62.二叉搜索树的第k个结点
题目描述 给定一颗二叉搜索树,请找出其中的第k大的结点.例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4. [思路]遍历二叉搜索树,存入一个vector ...
- 9.1、AutoEncoder自动编码器[转]
如果给定一个神经网络,我们假设其输出与输入是相同的,然后训练调整其参数,得到每一层中的权重.自然地,我们就得到了输入I的几种不同表示(每一层代表一种表示),这些表示就是特征.自动编码器就是一种尽可能复 ...
- BZOJ 1806 矿工配餐(DP)
很水的DP. 因为每一个餐车的加入只需要知道当前矿洞的前两个餐车种类就行了.而餐车一共就三种. 所以令dp[i][Sa][Sb]表示前i辆餐车送餐完毕后第一个矿洞的前两个餐车种类为Sa,第二个矿洞的前 ...
- BZOJ 1791 岛屿(环套树+单调队列DP)
题目实际上是求环套树森林中每个环套树的直径. 对于环套树的直径,可以先找到这个环套树上面的环.然后把环上的每一点都到达的外向树上的最远距离作为这个点的权值. 那么直径一定就是从环上的某个点开始,某个点 ...