C#日积月累之类型转换

来源:互联网 发布:ov7670摄像头数据手册 编辑:程序博客网 时间:2024/05/22 06:14

一、显式转换

       在对数值变量进行显式转换时,可能出现溢出的情况,使用checked关键字可以对溢出进行检查:

int num = 123456;short num2 = checked((short)num);Console.WriteLine("num = {0}\nnum2 = {1}", num, num2);
执行代码会出现下面的情况:


除了使用checked外,也可以通过修改系统设置来检查,菜单【项目】->【属性】->【生成】->【高级】->勾选【检查运算上溢/下溢】。设置之后就会对所有的转换进行溢出检查,除非使用unchecked关键字。


二、数字字符串转换为数值(Convert类)

       C#提供了一个把字符串转换为各种数值的类——Convert类,具体方法可以查看API。一般为十进制数字字符串和十进制数值之间的转换,这里笔者要记录的是非十进制数字字符串和十进制数值之间的转换。

(1)通过 Convert.ToInt32() 函数可以把非十进制数转换为十进制数:


该函数有两个参数,第一个参数是表示非十进制数的字符串,第二个参数是原数的基数(即要把几进制数转换为十进制) 。

Console.WriteLine(Convert.ToInt32("110011", 2));        //二进制转十进制Console.WriteLine(Convert.ToInt32("567", 8));           //八进制转十进制Console.WriteLine(Convert.ToInt32("6F", 16));           //十六进制转十进制
运行结果:

(2)通过 Convert.ToString ()  函数可以把十进制转换为非十进制:


该函数也有两个参数,第一个参数是原数(十进制整数) ,第二个参数是目标数的基数(即要把十进制数转换为几进制) 。

Console.WriteLine(Convert.ToString(89, 2));         //十进制转二进制Console.WriteLine(Convert.ToString(89, 8));         //十进制转八进制Console.WriteLine(Convert.ToString(89, 16));        //十进制转十六进制
运行结果:


0 0
原创粉丝点击