Java中出现意外结果(浮动到整数)

时间:2017-06-08 12:12:58

标签: java

我有这个问题

System.out.print((9/5) * 3);

我希望结果为5.4,但会返回3。为什么会这样?

4 个答案:

答案 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

要解决您的问题,您有两个解决方案:

  1. 使用实数代码,因此您必须使用9.0/5
  2. 或者您可以将该号码转换为加倍((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);