其实第一条运算的结果也是不精确的,为什么会看上去精确?是因为System.out.println()函数对浮点数的打印位数有限制,就如楼上说的,后面的0太多,所以被省略了。你可以使用System.out.printf("%1.10f", x);这样就可以看到后面被省略的部分了。不知道这样回答清楚不清楚?
第一个是8.200000000000000,后面的零省略了。下一个由于不是整位所以全部显示出来了!