关于c#:为什么分区总是零?


Why division is always ZERO?

本问题已经有最佳答案,请猛点这里访问。
1
int value = 10 * (50 / 100);

预期答案是5,但总是零。有人能给我详细解释一下为什么吗?

提前多谢。


因为50/100的结果是0。

50/100等于int(50/100)返回0

另外,如果您要返回5,请使用:

1
int value = (int)(10 * (50 / 100.0));

(50/100.0)的结果是0.5


因为你做的是整数除法:(50 / 100)0

试试这个:

1
int value = (int)(10 * (50 / 100.0));

或者反乘法/除法

1
int value = (10 * 50) / 100;

所以它会在分水岭之前成倍增加。


对int值进行操作。int中的50/1000