我有两个整数 a,b 总是 >= 0。我想将 a 除以 b 并将四舍五入的百分比返回到最接近的整数。示例:18/38 应返回 47,13/38 应返回 34。我怎样才能做到这一点?我尝试了以下但没有奏效c = Math.round(a/b) * 100;
4 回答

蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
public static void main(String[] args){
int a=18,b=38,c=0;
c = (int) Math.round(100.0 * a / b);
System.out.println(c);
}
正如@Mureinik 所说,a并且b是整数,他们将使用整数除法。您应该将 100 乘以上面的类似。并继续使用.round而不是.ceil为了得到 47 作为输出,这.ceil将给你 48 作为输出。

江户川乱折腾
TA贡献1851条经验 获得超5个赞
您需要执行以下操作才能获得结果
Double res= Double.valueof(a/b);
DecimalFormat decimalFormat = new DecimalFormat("#.00");
String num= decimalFormat.format(res);
Int finalResult = Integer.valueof(num)*100;
谢谢
添加回答
举报
0/150
提交
取消