为什么double转float不会出现数据误差,而float转double却误差如此之大?
double d = 3.14;
float f = (float)d;
System.out.println(f);
输出结果是:3.14;
float f = 127.1f;
double d = f;
System.out.println(d);
输出结果是:127.0999984741211
为什么结果会是这样呢?
如何避免这样的问题发生,让float转double能得到实际的数据?