int value = 10 * (50 / 100);
预期答案是5,但它始终为零。有谁能请详细说明原因?
非常感谢。
答案 0 :(得分:3)
因为50/100
的结果为0。
50/100
等于int(50/100)
,返回0
。
另外,如果您想要返回5
,请使用此选项:
int value = (int)(10 * (50 / 100.0));
(50/100.0)
的结果是0.5
。
答案 1 :(得分:2)
因为您正在进行整数除法:(50 / 100)
给出0
试试这个:
int value = (int)(10 * (50 / 100.0));
或反转乘法/除法
int value = (10 * 50) / 100;
所以它在分数之前成倍增加
答案 2 :(得分:1)
您对int值进行操作。
50/100
中的int
为0
。