2016-07-04 245 views
-5

你好傢伙/女孩我在我的程序中需要一些幫助,通過分爲三來計算總數,首先是總數的80%,總數是10%,最後是總數的10%。我曾試圖將其轉換爲double,但如果總數爲5,則第一個輸出爲4,第二個爲0,第三個爲0,這是錯誤的,因爲我期望輸出的總數保持不變。 這裏是我的代碼計算百分比c#

Double total = 5; 
    Double a,b,c,tot; 
    a = total*0.80; 
    b = total*0.10; 
    c = total*0.10; 
    tot = a+b+c; 
    Int convert = Convert.ToInt32(tot) 
+1

請發表你有什麼到目前爲止已經試過。 – user3378165

+3

你應該顯示你已經嘗試過,這聽起來像你用一個整數除整數 – Sayse

+1

首先看看[如何提出問題。](http://stackoverflow.com/help/how-to-ask)然後編輯你的問題 – Marusyk

回答

0

這應該爲你工作:

Int convert = Convert.ToInt32(tot + 0.5)

這樣,tot將最接近的整數。知道2.5例如將是3等等。

但是,您可能需要它abc這樣的:

tot = Convert.ToInt32(a + 0.5) + Convert.ToInt32(b + 0.5) + Convert.ToInt32(c + 0.5);

+1

不能隱含轉換類型double到int – shampoo

+0

做轉換。現在試試@shampoo –

+0

我的意思是總體本身不是問題。它產生了一個= 4,這是80%b = 0和a = 0。這就是我怎麼能把它分成以上百分比 – shampoo