Java:试图获得整数的百分比,如何整理?

Pet*_*fic 3 java casting rounding

我有两个整数值,x和总和.我试图找到总的x的百分比.这就是我现在正在做的事情:

百分比=(int)((x*100)/总);

百分比必须是整数.当我这样做时,它总是向下舍入小数点.是否有一种简单的方法可以将百分比计算为整数,如果小数点是.5或更高,它会向上舍入?

jos*_*aly 15

使用Math.round(x * 100.0/total).但请注意,这会返回一个长整数,因此需要进行简单的强制转换int.

我把100.0强制它在舍入之前使用浮点运算.


ant*_*014 5

(int)Math.round(100.0 / total * x);
Run Code Online (Sandbox Code Playgroud)

应该管用。