2013-04-13 2 views
-1

Я строю викторину на C#, которая работает и отображает результаты в виде строки. Однако я хотел бы, чтобы результат отображался как% - как бы я это сделал?Как отобразить значение в процентах?

protected void Button1_Click(object sender, EventArgs e) 
{ 
    int score = 0; 

    if (qn1.SelectedValue == "Yes") 
     score++; 
    if (qn2.SelectedValue == "Yes") 
     score++; 
    if (qn3.SelectedValue == "Yes") 
     score++; 
    if (qn4.SelectedValue == "Yes") 
     score++; 
    if (qn5.SelectedValue == "Yes") 
     score++; 

    literalScore.Text = score.ToString(); 
} 
+0

Ну, что вы пробовали? Вы просмотрели любую строку [числового формата] (http://msdn.microsoft.com/en-gb/library/dwhawy9k.aspx)? – Oded

+0

, вероятно, вы должны повернуть свои 5 if в оператор if/elseif/else, иначе, если первый из них истинен, у вас все еще есть 4 других оператора if, чтобы проверить, что вы знаете, не может быть истинным – Sayse

ответ

2

им не уверен, что я ясно понял, что у спросил .. но что я понял из ур вопрос, если кто-то ответить на 3 вопроса хорошо его процент должен быть 60%, и это должно быть записано в результате ..

protected void Button1_Click(object sender, EventArgs e)  
{ 
int score = 0; 

if (qn1.SelectedValue == "Yes") 
    score++; 
if (qn2.SelectedValue == "Yes") 
    score++; 
if (qn3.SelectedValue == "Yes") 
    score++; 
if (qn4.SelectedValue == "Yes") 
    score++; 
if (qn5.SelectedValue == "Yes") 
    score++; 

literalScore.Text = (score*20).ToString() + " % "; 
} 

вы должны умножить на 20, если вопросы 5, что, если вопросы 10, чем нужно умножить на 10

4

Вы должны предоставить FormatProvider в ToString() метод. В вашем случае P необходимо использовать для Процент -

score = (double)score/(double)totalPossible; 
literalScore.Text = score.ToString("P"); 

Из ссылки here -

процент («P») спецификатор формата умножает число на 100 и преобразует его в строку который представляет собой процент.

Смежные вопросы