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
1回答
慕粉_大数据_小瑞瑞
2019-04-20 00:08:57
由long强制转换为float损失精度
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星