int value = 10 * (50 / 100);预期的答案是5,但它始终是零。有没有人能给我详细的解释?
提前谢谢你。
发布于 2016-12-22 16:18:08
因为50/100的结果是0。
50/100等于返回0的int(50/100)。
另外,如果您想返回5,请使用以下命令:
int value = (int)(10 * (50 / 100.0));(50/100.0)的结果是0.5。
发布于 2016-12-22 16:18:24
因为你在做整数除法:(50 / 100)给0
试试这个:
int value = (int)(10 * (50 / 100.0));或反转乘/除
int value = (10 * 50) / 100;所以在除法之前它是成倍增长的
发布于 2016-12-22 16:18:21
你可以对int值进行操作。int中的50/100是0。
https://stackoverflow.com/questions/41278585
复制相似问题