我有这个问题
System.out.print((9/5) * 3);
我希望结果为5.4
,但会返回3
。为什么会这样?
答案 0 :(得分:8)
9/5
在整数算术中进行评估,因此它等于1.
写9.0 / 5 * 3
是一个常见的修复方法。 (将术语中的一个系数提升为double
会强制评估以双精度浮点进行。)
答案 1 :(得分:1)
System.out.print((9.0 / 5)* 3);
答案 2 :(得分:1)
在java中进行整数除法时,它将返回一个不是实数的整数:
9/5
返回1
而不是1.8
要解决您的问题,您有两个解决方案:
9.0/5
((double)9/5) * 3
答案 3 :(得分:1)
所有数字都是整数,因此它会给出整数结果,你可以得到9.0或5.0来得到答案...... 如下所示..
System.out.print((9.0/5) * 3); OR
System.out.print((9/5.0) * 3);