类型转换数据丢失的问题

来源: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是什么啊,没值吧

0

好帮手慕小班

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输出值的误差,是由于浮点型的特殊存储结构,在类型转化时,会造成精度的损失,不同的操作系统不同的机器它的精度损失是不一样的,如果想要准确的计算浮点数,可以查看《浮点型数据教辅》哟~~

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


0

0 学习 · 11489 问题

查看课程