类型转换数据丢失的问题
来源:4-3 数据类型转换案例
Angche
2019-05-06 18:31:26
float f = 1000000000000000L;
float f = 100000000000000L;
System.out.println("f="+f);
System.out.println("f1="+f1);
这个打印的结果是f=9.9999999E14 f1=1.0E14; 为什么打印的结果不一样呢?
2回答
幕布斯8455666
2019-12-10
你的f1是什么啊,没值吧
好帮手慕小班
2019-05-06
同学你好,1、f是1后加15个0,f1是1后加14个0,所以后面输出结果不同。
2、f1中1后跟14个0的输出结果是与视频中f的值相同,所以最后输出结果也是相同,f1=1.0E14,f中1后跟15个0输出值的误差,是由于浮点型的特殊存储结构,在类型转化时,会造成精度的损失,不同的操作系统不同的机器它的精度损失是不一样的,如果想要准确的计算浮点数,可以查看《浮点型数据教辅》哟~~
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题