2016-04-15 86 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