代码如下:public class mainTest {
public static void main(String[] args) {
System.out.println(testDouble("10.8"));
System.out.println(testFloat("10.8"));
System.out.println("----------------------");
System.out.println(testDouble("38.8"));
System.out.println(testFloat("38.8"));
}
public static int testDouble(String str){
Double d = Double.valueOf(str);
return (int)(d*100);
}
public static int testFloat(String str){
Float f = Float.valueOf(str);
return (int)(f*100);
}
}
输出结果为:1080
1080
----------------------
3879
3880
3879和3880,之间差了一。
我知道是因为精度转化导致的。
但是我想知道具体是为什么。
谢谢。