为什么 float 转换为long类型需要强制转换?

为什么 float 转换为long类型需要强制转换?

long l=987654321;

//定义一个长整型变量l,值为987654321

int i=(int)l;

System.out.println("i="+i);

//定义一个整型变量i,赋值为l,并输出i的值

   float f=l;

   System.out.println("f="+f);

   //定义一个float类型变量f,将变量l的值赋值给f,并输出f的值

         l=(long)f;

           System.out.println("l="+l);

   //将float的值f,重新赋值给变量l,并输出l的值


正在回答

登陆购买课程后可参与讨论,去登陆

4回答

float是点精度浮点型比long长整型容量大多了,由大转小需要强制进行。

  • float 4 bytes, long 8 bytes float的容量小于long
    2018-10-19 11:22:59
慕前端407728 2018-10-24 20:03:06

浮点向整型转换必定丢失精度

SomnusL 2018-10-07 20:51:11

不强制转换你长整数直接=小数吗

好帮手慕雪 2018-08-22 10:22:39

http://img1.sycdn.imooc.com//climg/5b7cc892000144d714810829.jpg

上图是自动转换,所有非自动类型转换的,那就都是强制类型转换。祝:学习愉快

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师