当我执行此操作时:
int wr=Math.round(league.getWins()/(league.getWins()+league.getLoss())*100);
结果我得到0,但是如果我用另一种方法:
float total = league.getWins()+league.getLosses();
int wins = league.getWins();
int wr = Math.round(wins/total*100);
结果我得了49分。 这是什么原因造成的呢?
可能是league.getWins()是一个int,(league.getWins()+league.getLoss())也是一个int,所以当Java试图用int除以int时,它会自动将结果四舍五入,所以如果结果是0.49,四舍五入是0,然后是0*100=0。
在后一种情况下,您将total声明为浮点数,因此当Java执行winds/total时,它不会对结果进行四舍五入,因此您得到0.49*100=49