当前位置: 代码迷 >> J2SE >> float i=3.5 如何提示异常
  详细解决方案

float i=3.5 如何提示异常

热度:151   发布时间:2016-04-23 20:15:05.0
float i=3.5 怎么提示错误?
float i=3.5 怎么提示错误?应该会自动转换的啊,,,,,,byte b =5 可以自动从int转到byte.......怎么这个不可以, 也没有超出范围啊,

------解决思路----------------------
引用:
Quote: 引用:

默认的3.5是double类型的,要转换为float必须强制类型转换啊,或者在声明的时候加上f后缀,float i=3.5f

问题是没超出3.5没超出float的范围,,应该可以自动转换的啊,就像 byte b=4;    会自动int转换成byte

这跟范围的关系不大,就像我说的3.5默认是double类型的,怎么可能自动向下转型呢。如果没有小数默认为double的话,你的声明就没错了,但存在这样一个语法规则那么就必须遵守了
------解决思路----------------------
你这里定义时是把double类型赋值给float类型当然会提示损失精度的错误
------解决思路----------------------
整数强制转换如果没有超出范围是不会丢失任何精度的,所以能转的就自动转了方便写代码。浮点数在某些情况下转换是会丢失精度的,所以除非你显式转换,编译器不会冒这个风险,不然有可能造成难以发现的bug。
  相关解决方案