Я работаю над концепцией индикатора выполнения в ASP.NET MVC 2. Здесь у меня есть DropDownList, который имеет 10 значений.Я хочу рассчитать процент для индикатора выполнения, например, 10 значений из DropDownList, и у меня есть запрос, который возвращает значение 2. Таким образом, из 10 значений я получаю 2. "20% завершено" должно отображаться .. Каксделать этот расчет
Использование Math.Round():
Math.Round()
int percentComplete = (int)Math.Round((double)(100 * complete) / total);
или округление вручную:
int percentComplete = (int)(0.5f + ((100f * complete) / total));
(current / maximum) * 100. В вашем случае (2 / 10) * 100.
(current / maximum) * 100
(2 / 10) * 100
С форматированием строки C # вы можете избежать умножения на 100, так как это сделает код короче и чище, особенно из-за меньшего количества скобок, а также можно избежать округления кода.
(current / maximum).ToString("0.00%");
// Вывод - 16,67%
Математически, чтобы получить проценты из двух чисел:
percentage = (yourNumber / totalNumber) * 100;
А также, чтобы рассчитать по процентам:
number = (percentage / 100) * totalNumber;
Вы можете удерживать процент в виде десятичной дроби (value \ total), а затем, когда вы хотите визуализировать человека, вы можете использовать Хабиба answer или строковую интерполяцию Вы можете получить что-то еще чище:
(value \ total)
var displayPercentage = $"{(decimal)value / total:P}";
или
//Calculate percentage earlier in code decimal percentage = (decimal)value / total; ... //Now render percentage var displayPercentage = $"{percentage:P}";