62,628
社区成员
发帖
与我相关
我的任务
分享计算机在存储浮点数时可能会存在丢失精度的问题。
但为什么下面这个代码,打印出的结果不会有精度缺失的问题呢?
float num = 2.7f;
System.out.print(num); // 2.7
你看到 2.7f 其实内存里的值差不多是 2.6999999999999 比较浮点的时候只是在精度范围内比较
比如 2.699999999999999999987 和 2.699999999999999999986 在单精度里,他们是相等的,但是在双精度里,就不相等了