如何让下面的结果为67%

img

img

img

以200,120为例,计算过程为:
100 * (200 - 120) / 120
100 * 80 / 120
8000 / 120
66
注意8000 / 120这一步,由于参与运算的全是整数,所以表达式结果一定是整数,而且是直接舍弃小数而不是四舍五入。
所以把100改成100.0,使参与运算的数中有小数,使表达式结果变成小数,这时8000.0 / 120 = 66.66667,再用Math.round()方法四舍五入取整,即:

int i = Math.round(100.0 * (n-m)/m);

由于题中没有明确说这里是四舍五入、向上取整、向下取整,所以你得试一试。如果四舍五入不对,就试试向上取整Math.ceil();
另外,上一个条件中的100也应改成100.0,然后再取整。