2012-11-02 67 views
0

我知道這是我要問的基本問題,忍受着我。查找百分比並將它舍入兩個地方

我試圖找出百分比。

這是我正在嘗試,但它給我一個模糊的電話錯誤。

int total = 1; 
int totalUsers = 3; 
if (totalUsers > 0) 
{ 
    var per =Math.Round(total/totalUsers,4) * 100 ; 
    object[] args = new object[] { total, totalUsers, per }; 
    lblMsg.Text = string.Format("{0} of {1} users already voted({2}%)", args); 
} 

For Example: 
if total = 1 
totalusers = 3 
per should be after rounding of 33.33% 
+0

什麼是total'的'編譯時類型和'totalUsers'?你爲什麼要用結果創建一個對象?什麼是*確切*錯誤信息? (不要在評論中回答這些問題 - 編輯您的問題。) –

+0

感謝Jon,我編輯了這個問題。 – ankur

+0

你在哪裏得到'模糊致電'錯誤? – dotNETbeginner

回答

1

要解決的ambiguous call錯誤,更改爲:

var per =Math.Round((decimal)total/totalUsers,4) * 100 ; 
+0

按照我上面的例子,每個是33.33,但是當我把這個傳遞給string.format時,它的製作值爲33.3300%,任何建議。 – ankur

+1

你可以使用'{2:N2}'來控制字符串格式的那個部分' – V4Vendetta

+0

當我做這個改變時,它給出錯誤「輸入字符串格式不正確」。 – ankur