打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
C#-强制类型转换的三种方式

今年小明中考后,根据小明所说输入语数英三门各科成绩,最后计算总成绩与平均成绩

Console.WriteLine("请输入语文成绩");

string chinese=Console.ReadLine();//因为这个方法返回值是string类型,只能使用string接收,但字符串类型不能进行运算,所以需要进行强制类型转换,才能将接收的数字进行计算

在C#中,有三种强制类型转换方式:

a: 格式是 (数据类型)变量

如果是自动(隐式)类型转换,必须是从小到大的转换比如 int转double,但是从大到小转换则必须进行强制类型转换,怎样知道是从大到小还是从小到大转换,看等号左右两边类型,左侧大于右侧,则是自动类型转换,左侧小于右侧则是强制类型转换,因为右侧是为左侧赋值的

double num; int num1=5; num=num1;//自动转换,因为左侧大于右侧

int num; double num1=3.14; num=(int)num1;//强制转换,因为左侧小于右侧,为什么小括号内加int而不是其他类型的,因为等号左右类型必须一致,而num声明的就是int

注意:1 这种方式转换的两边要能兼容 2 有可能损失精度,比如double转int等

b: 使用 int.Parse()或者int.TryParse()方法,只能转换数字字符串

int num=int.Parse("5");//直接赋值给num

int num1; int.TryParse("5",out num1);//两个参数,第一个是要进行转换的整形字符串,第二个是用于接收是变量

注意: int.Parse()输入的字符串必须是整形的,不能是小数否则会报异常

int.Parse("10");//这个可以 int.Parse("1.5");//这个会报异常

int.TryParse()输入的必须是整形字符串,输入小数直接返回0

int.TryParse("3",out num);//num=3

int.TryParse("5.5",out num);//不报异常,结果为0

3 Convert.ToInt32()

Convert.ToInt32() 可以将多种数据类型转换成int:

例如

int num=Convert.ToInt32("5");//字符串的

int num=Convert.ToInt32('5');//字符的

其他的我不再一一赘述,Convert.ToInt32()这个方法功能比前两个更加强大,以后几乎都使用这个方法进行强制类型转换

将开头小明的总成绩与与平均成绩试着编写出来,变量chinese 用int 类型接收,使用int.Parse() int.TryParse() Convert.ToInt32() 这三个方法分别将语数英的字符串型数字强制转换成int,先试着自己编写代码,然后再看下图中代码

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
浅析四种C#转换的区别 - 51CTO.COM
数据为null的处理方法(从DBNull转换为其他类型)
(int)、int.Parse()、int.TryParse()、Convert.ToInt32()区别
C#中(int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别
C#优化字符串操作
C#扩展方法的理解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服