Java在计算上给出了错误的答案

use*_*484 3 java android

我试图在Java中进行一些计算,但由于某种原因,在1行或2行代码中进行简单的计算会给出错误的答案,而另一方面,如果我在3个步骤中执行它,则可以完美地运行.

我知道在几个步骤中做某事并不是那么糟糕,但为什么要使用额外的文字,如果它可以缩短?

如果我的数学错了,有人会给我指针吗?

这是1行代码

percent1 = (((totaloutput1Int - Total1Int) / totaloutput1Int) * 100);

also = (((2232 - 1590) / 2232) * 100)
Run Code Online (Sandbox Code Playgroud)

这是多步骤代码确实有效.

percent1step1 = (totaloutput1Int - Total1Int);

percent1step2 = ((percent1step1 / totaloutput1Int)* 100);

percent1Tv.setText(String.valueOf(percent1step2));
Run Code Online (Sandbox Code Playgroud)

Sam*_*tta 5

更改totaloutput1IntTotal1Intintdouble,一切都将正常工作.

在第一种方法中,int/int导致值的四舍五入.这会导致不同的结果.