2016-04-15 84 views
1

我们通过(CurrentValue/Total)*100找到一个数字的百分比。现在我在UpdateOverallProgress()为什么C#为简单百分比公式输出0.0?

private void UpdateOverallProgress() 
{ 
     var position = 20 
     var count = 120 
     Double percentage = (position/count * 100); 
     progressOverall.Value = Convert.ToInt16(percentage); 
} 

将此但无论什么position是,该percentage总是0.0。任何人都可以给我一个提示,我做错了什么?我觉得自己很愚蠢......

+2

整数划分再次触击。已经有很多答案。 – harold

+0

'position/count' =>整数除法'= 20/120 = 0' – Ian

+2

@TimSchmelter有时我不喜欢dupehammer。 SO也适用于编码初学者。虽然链接的问题解释了整数除法的问题,但没有关于文字被解释为“int”的字,并且对_this_问题的有效答案是“var position = 20d”也能解决问题。也许OP已经知道整数除法,但不知道这些文字。 –

回答

3

可能是因为var positionvar count被当作int,所以除数为0,除非position等于count。

尝试将它们更改为double

+0

谢谢,它工作 – Irshu