如果我打印x的值为:
int a=1;
int b=6;
float x=(a/b);
输出为0.0
但是,如果我改变第三行 float x =(float)a /(float)b;
输出为0.1666667(应该是)
为什么会有差异?
答案 0 :(得分:0)
这是因为两个变量都是int
类型,因此除法返回int
。
您必须至少将其中一个投放到float
,以强制该部门将结果返回float
。
以下是代码段:
public static void main (String[] args) throws Exception {
int a = 1;
int b = 6;
float x = ((float)a/b);
System.out.println("Result: " + x);
}
输出:
Result: 0.16666667
注意:在上面的示例中,我已将a
投放到float
。您还可以将b
投射到float
而不是a
,如下所示:
float x = (a/(float)b);