为了账号安全,请及时绑定邮箱和手机立即绑定

将两个整数相除并将结果四舍五入到最接近的整数

将两个整数相除并将结果四舍五入到最接近的整数

梵蒂冈之花 2022-11-10 16:21:01
我有两个整数 a,b 总是 >= 0。我想将 a 除以 b 并将四舍五入的百分比返回到最接近的整数。示例:18/38 应返回 47,13/38 应返回 34。我怎样才能做到这一点?我尝试了以下但没有奏效c = Math.round(a/b) * 100;
查看完整描述

4 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

由于ab是整数,a/b将使用整数除法,并且只返回结果的“整体”部分。相反,您应该乘以a100.0注意.0,这使它成为double文字!)以使用浮点除法,然后ceil是结果,并将其截断为int

c = (int) Math.ceil(100.0 * a / b);


查看完整回答
反对 回复 2022-11-10
?
蝴蝶刀刀

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 作为输出。


查看完整回答
反对 回复 2022-11-10
?
森林海

TA贡献2011条经验 获得超2个赞

c = (int) Math.round(100.0 * a / b);

这应该会产生预期的结果。


查看完整回答
反对 回复 2022-11-10
?
江户川乱折腾

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;

谢谢


查看完整回答
反对 回复 2022-11-10
  • 4 回答
  • 0 关注
  • 113 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号