在Java中划分两个整数给我0或100?

我试图分两个整数乘以100,但它一直只给0或100.有人可以帮助我吗?

int x= (a/b)*100; 

如果a是500,b是1000,那么它会给我0,唯一给我100的时间是a> = b。 我怎样才能解决这个问题?

谢谢

Solutions Collecting From Web of "在Java中划分两个整数给我0或100?"

你所能做的就是强迫它把ab分成两部分:

 int x = (int) (((double) a / (double) b) * 100); 

整数除法没有分数,所以500/1000 = 0.5(这不是整数!)被截断为整数0.你可能想要

 int x = a * 100 / b; 

这听起来像你没有正确input你的variables; 两个整数除法结果是一个整数,而不是浮点数或双精度。 例如:

 (int)3 / (int)5 = 0 (float)3 / (float)5 = 0.6 

尝试这个:

 int x = a * 100 / b; 

这个想法是,你是第一次做a / b ,因为它是一个整数运算,它会将结果四舍五入到0 。 先做a * 100应该修复它。