long转float精度丢失结果机理

来源:4-4 编程练习

JCzero

2019-04-19 23:29:27

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回答

慕粉_大数据_小瑞瑞

2019-04-20

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

1

0 学习 · 11489 问题

查看课程