c# 数据类型转换
2024-09-03 01:32:12
隐式转换
byte, short, int, long, fload, double等根据其顺序向后可以隐式自动完成类型的转换,隐式转移的前提是目标类型精度高于源类型,如:short隐式转换为int,因其int精度高于short,所以隐式完成转换后,其数据不丢失。如果需要逆向转换,就必须强制转换,强制转换的代价是就是精度丢失、数据溢出。
float v1 = (float)345.22;
long v2 = long.MaxValue; int v3 = (int)v1; //强制转换,损失精度 return 345
int v4 = (int(v2); //强制转换,数据溢出 return -1;
使用Convert类转换数据类型
Convert类可以实现基本类型间的数据转换,Convert.ToString() Convert.ToInt32()……。
各种返回测试
int value = Convert.ToInt32(""); //return 123
int value = int.Parse(""); //return 123;
int value = (int)2.5; //截断:return 2;
int value = Convert.ToInt32(2.5); //以为会四舍五入,实测为五舍六入?即:2.5 return 2, 2.6 return 3;
int value = Convert.ToInt32(""); // throw System.FormatException Convert.ToString(null); //return null;
Convert.ToString(DBNull.Value); //return "";
DbNull.Value as string // 类型转换异常
null as string //return null;
最新文章
- python语言中的编码问题(续)
- web 调用WCF 每次都要重新编译才能正常使用 终于解决了
- Java中关于 BigDecimal 的一个导致double精度损失的";bug";
- c# 小练习
- 收藏的博客--Ogre
- maven3在eclipse3.4.2中创建java web项目
- 2013流行Python项目汇总
- -_-#【Mac】MacVim
- HBase源代码分析
- 如何在Eclipse下查看JDK源代码
- 关于c#邮件发送的简单例子
- 数据库索引------Btree索引的使用限制
- cs231n spring 2017 lecture16 Adversarial Examples and Adversarial Training 听课笔记
- DRF项目创建流程(1)
- JDBC Template
- Codeforces Gym 101291C【优先队列】
- 连接postgres特别消耗cpu资源而引发的PostgreSQL性能优化考虑
- Centos7-Lvs+Keepalived架构
- 20145122《敏捷开发与XP实践 》实验三实验报告
- .Net异步编程 z