C#知识|语法拾遗:数据类型转换

[复制链接]
查看105 | 回复0 | 2024-6-12 07:30:55 | 显示全部楼层 |阅读模式
>
因公众号更改推送规则,请点“在看”并加“星标”

第一时间获取精彩技术分享


哈喽,你好啊,我是雷工!

其实关于数据转换在任何语言中都会涉及,无论是PLC编程语言,还是SCADA开发中的脚本语言,都会涉及,在前边学习JavaScript的内容时,也看过相关内容:

JavaScript|获取数据类型、类型转换》、

JavaScript|这些隐式转换类型你知道吗?》;

而不同编程语言之间很多内容都是相通的,基本原理都类似,都在相互借鉴彼此比较好的内容;

因此在学会一种语言后,在学习另一种语言会比较容易上手。

接下来继续查漏补缺,夯实基础,学习C#中数据类型转换相关的内容,以下为学习笔记。

01 自动类型转换

一般是值类型之间的转换,精度低的可以自动转换成精度高的;

引用类型到object类型是可以直接转换的,但是实际项目中要避免此种转换;

例如:int可以自动转换成double;

02 强制类型转换

情况1

值类型间强制转换;

语法:(类型名)表达式;

示例:

double A=11.11int B=22;int C =(int)A+B;//实现强制类型转换,将double转换成int,此种方式精度会丢失,小数部分会直接去掉;

输出结果C=33;

情况2

字符串和值类型之间转换;

语法:类型.Parse("字符串")

注意事项

字符串转换成值类型时需要要求字符串得是目标值类型的形式;

示例:

double A=double.Parse("333.33");//有效形式float B=float.Parse("33.3");//有效形式int C=int.Parse("33");//有效形式int D=int.Parse("雷工笔记");//非有效形式int E=int.Parse("333.33");//非有效形式

情况3

将值类型转换成字符串类型;

语法:直接使用ToString()方法;

示例:

double A=444.44string B=A.ToString();//B=="444.44"

03 万能转换器

通过Convert转换;

Convert命令可进行显示转换汇总:

命令 

结果

Convert.ToBoolean(val)

val转换为bool

Convert.ToByte(val)

val转换为byte

Convert.ToChar(val)

val转换为char

Convert.ToDecimal(val) 

val转换为decimal

Convert.ToDouble(val)  

val转换为double

Convert.ToInt16(val) 

val转换为short

Convert.ToInt32(val) 

val转换为int

Convert.ToInt64(val)

val转换为long

Convert.ToSByte(val) 

val转换为sbyte

Convert.ToSinggle(val)

val转换为float

Convert.ToString(val) 

val转换为string

Convert.ToUInt16(val) 

val转换为ushort

Convert.ToUInt32(val)

val转换为uint

Convert.ToUInt64(val) 

val转换为ulong

还有一些情况,例如值类型转换时,用Convert.ToInt32()将浮点数转换成整数时,会四舍五入小数部分,但当小数部分正好是0.5时,需要看整数部分是奇数还是偶数,如果是奇数则进1,如果是偶数则直接舍去小数部分;

04 后记

实际使用过程中可以根据实际情况选择合适的转换法方式,以实用为主,能够满足要求即可,没有优劣之分;

有记录的不足之处欢迎大家在评论区留言指正,更多相关话题也可以在交流群探讨。


觉得有启发点个关注呗↓

-更多内容可点击下方标签阅读-

☞限时免费加入交流群

汇川技术|MCGS昆仑通态|数据库

差旅游记|JavaScript|C#相关

数字孪生|山海鲸可视化|☞C#实战

KingSCADA|KingIOServer


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则