代码如下: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
38803879和3880,之间差了一。我知道是因为精度转化导致的。但是我想知道具体是为什么。谢谢。
添加回答
举报
0/150
提交
取消