日期:2014-05-20  浏览次数:20595 次

Java中float和double转换的问题?
为什么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能得到实际的数据?

------解决方案--------------------
先把float型的变成String类型的,然后再装换成Double的