long转float精度丢失结果机理

long转float精度丢失结果机理

long强制转换float,从987654321变成9.8765434E8,为什么最后一位是4,不是3(进位),也不是2(四舍五入)

代码如下:

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

int i=(int)l;

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

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

    

    float f=(float)l;

    System.out.println("f="+f);//定义一个float类型变量f,将变量l的值赋值给f,并输出f的值


正在回答 回答被采纳积分+1

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

1回答
慕粉_大数据_小瑞瑞 2019-04-20 00:08:57

由long强制转换为float损失精度

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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