博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
类型自动转换规则
阅读量:6278 次
发布时间:2019-06-22

本文共 1266 字,大约阅读时间需要 4 分钟。

参与运算(算术运算和赋值运算)的操作数结果类型必须一致,当不一致时满足下面条件,系统自动完成类型转换.


1,两种类型兼容,例如:int和double兼容. (都同为数字)

double number=3;   //前面我们定义的类型为double,但是注意我们赋值却是一个int值:3,系统自动转换成double类型3.0,所以程序在这里不会报错.

Console.WriteLine("{0}",number);

Console.ReadKey();


2,目标类型大于源类型,例如:double>int.(double范围远远大于int类型)

double pi=3.14;

double r=5; //两种类型兼容系统自动完成类型转换成double类型5.0

double area=r*r*pi;// r*r结果为int*pi(double),由于取值范围double大于int,在转换后不会丢失精度,所以在此处值为double类型[先将r*r值结果直接加.0转为double*pi(double),将最终为double的结果值赋给了double area]

Console.WriteLine("面积={0}",area);

Console.ReadKey();


 

3,对于表达式,如果一个操作数为double类型,则整个表达式可提升为double类型

int number1=10,number2=3;

int ys=number1%number2;

double quo=1.0*number1/number2;//注意此处如果不加1.0*输出结果是3.因为2个int类型的数相除结果还是int只是得出int类型的结果后系统加.0转为double.如果前加1.0*就是变成一个double类型的/一个int类型的结果就是double类型的 所以输出结果是3.333333333 如果一个操作数为double类型,则整个表达式可提升为double类

Console.WriteLine("取余数={0}\n{1}",ys,quo);

Console.ReadKey();


 

 

同理:

如下

1,decimal number=3.14; //这里是无法将double类型的数值自动转换成deicmal类型的值,因为double的取值范围比decimal大。只能取值范围小的赋给大的

正确写法应该是

decimal number=3.14m;


 

2,

decimal number=3.14m;

double number2=number;//这里也是无不将decimal值赋值给double的,虽说double取值范围比decimal大,但是double取值精度没有decimal的高。转换后会丢失精度所以不能转换。这里程序也会自动报错.


 

3,

decimal number=3 //此处是可以将int类型的转化成decimal类型的

 

转载于:https://www.cnblogs.com/swlq/p/5353295.html

你可能感兴趣的文章
操作系统真实的虚拟内存是什么样的(一)
查看>>
hadoop、hbase、zookeeper集群搭建
查看>>
python中一切皆对象------类的基础(五)
查看>>
modprobe
查看>>
android中用ExpandableListView实现三级扩展列表
查看>>
%Error opening tftp://255.255.255.255/cisconet.cfg
查看>>
java读取excel、txt 文件内容,传到、显示到另一个页面的文本框里面。
查看>>
《从零开始学Swift》学习笔记(Day 51)——扩展构造函数
查看>>
python多线程队列安全
查看>>
[汇编语言学习笔记][第四章第一个程序的编写]
查看>>
android 打开各种文件(setDataAndType)转:
查看>>
补交:最最原始的第一次作业(当时没有选上课,所以不知道)
查看>>
Vue实例初始化的选项配置对象详解
查看>>
PLM产品技术的发展趋势 来源:e-works 作者:清软英泰 党伟升 罗先海 耿坤瑛
查看>>
vue part3.3 小案例ajax (axios) 及页面异步显示
查看>>
浅谈MVC3自定义分页
查看>>
.net中ashx文件有什么用?功能有那些,一般用在什么情况下?
查看>>
select、poll、epoll之间的区别总结[整理]【转】
查看>>
CSS基础知识(上)
查看>>
PHP中常见的面试题2(附答案)
查看>>