我有两个整数值,x和total。我试图找到总的x的百分比。这就是我现在正在做的事情:
percentage =(int)((x * 100)/ total);
百分比必须是整数。当我这样做时,它总是向下舍入小数点。是否有一种简单的方法可以将百分比计算为整数,如果小数点是.5或更高,它会向上舍入?
答案 0 :(得分:14)
使用Math.round(x * 100.0/total)
。但请注意,这会返回一个长整数,因此需要对int
进行简单的转换。
我把100.0强制它在舍入之前使用浮点运算。
答案 1 :(得分:3)
(int)Math.round(100.0 / total * x);
应该有用。
答案 2 :(得分:2)
只需使用Math.round(100.0 / total * x);
答案 3 :(得分:1)
为什么不使用Math.round((x*100)/total);
答案 4 :(得分:1)
在Java中使用标准数学库。
percentage = Math.round(*your expression here*);
答案 5 :(得分:1)
您可以为正值添加0.5(圆形到无效)
percentage = (int)(x * 100.0 / total + 0.5);
这比使用Math.round更快,但可能不那么清楚。
BTW:100.0 / total * x
可能不会给出与x * 100.0 / total
相同的结果,因为评估顺序可以更改浮点结果。
答案 6 :(得分:0)
最简单的方法 -
问题:如何舍入十进制数的值(例如:int n = 4.57)
答案:Math.round(n);
输出:5。