2010-12-30 46 views
38

Estoy trabajando en concepto de barra de progreso en ASP.NET MVC 2. Aquí tengo una DropDownList que tiene 10 valores. Quiero calcular el porcentaje de la barra de progreso, p. 10 valores de DropDownList y tengo una consulta que devuelve el valor 2. entonces, de los 10 valores que obtengo 2. Se debe mostrar "20% completado". Cómo hacer este cálculoCálculo de porcentaje

Respuesta

46

(current/maximum) * 100. En su caso, (2/10) * 100.

+0

gracias lot..how para redondear que .. por ej. (2/11) * 100 significa qué debo hacer ... – RobinHood

+1

use Math.Round y luego decida cuántos decimales desea :) – WestDiscGolf

+1

Colóquelo en un int. (int) ((2.0/11.0) * 100.0) = 18. –

49

Usando Math.Round():

int percentComplete = (int)Math.Round((double)(100 * complete)/total); 

o redondeo de forma manual:

int percentComplete = (int)(0.5f + ((100f * complete)/total)); 
+0

Entonces, 'complete' y' total' deben ser 'int' o' double'? Gracias. – Si8

+0

Realmente no importa si lo usa exactamente como está escrito aquí. Probar esta afirmación es un ejercicio dejado al lector :) – Sogger

+0

nunca debe usar un número de punto flotante (es decir, doble) por dinero – stuartdotnet

23

con C# cadena de formato puede evitar la multiplicación por 100, ya que hará el código más corto y más limpia, especialmente debido a la menor soportes y también se puede evitar el código de redondeo.

(current/maximum).ToString("0.00%"); 

// Salida - 16,67%

2

en matemática, para obtener el porcentaje de número dos:

percentage=(yourNumber/totalNumber)*100; 

y para calcular a partir de un porcentaje:

number=(percentage/100)*totalNumber; 
0

Puede mantener el porcentaje como decimal (value \ total) y luego cuando se quiere dar a un ser humano puede hacer uso de Habeeb'sanswer o el uso de string interpolation usted podría tener algo aún más limpio:

var displayPercentage = $"{(decimal)value/total:P}"; 

o

//Calculate percentage earlier in code 
decimal percentage = (decimal)value/total; 
... 
//Now render percentage 
var displayPercentage = $"{percentage:P}";