Ответ 1
(actual / available) * 100 = percent // start
actual / available = percent / 100
actual = (percent / 100) * available // finish
например. 15% от 1000
actual = (15 / 100) * 1000
actual = 0.15 * 1000
actual = 150
Я хочу рассчитать, что такое $x процент от общей суммы. $x может составлять 15%, 20% и т.д., а $total может быть 1000, 2000 и т.д. Поэтому я хотел бы получить 15% от 1000, например.
Какова формула для расчета этого? (Я знаю, что это не совсем вопрос кодирования, но я кодирую эту функцию и нуждаюсь в помощи!
(actual / available) * 100 = percent // start
actual / available = percent / 100
actual = (percent / 100) * available // finish
например. 15% от 1000
actual = (15 / 100) * 1000
actual = 0.15 * 1000
actual = 150
Учитывая X и Y, X% Y равно X * Y/100. Если вы используете целочисленную арифметику, убедитесь, что вы выполняете (X * Y)/100, а не (X/100) * Y.
15% от 1000 составляет (15 * 1000)/100, что составляет 150.
формулы:
percentage = partialAmount / totalAmount
totalAmount = partialAmount / percentage
partialAmount = percentage * totalAmount
обратите внимание, что процентное число обычно равно десятичному числу от 0 до 1
Не знаю, не хватает ли я чего-то здесь, но если вы просто хотите процентное число, просто умножьте его на процент и разделите на 100:
NewTotal = Total * Percentage/100
IE:
NewTotal = 1000 * 15/100
или
NewTotal = 1000 * 0,15
Вы ищете процент IN в значении или проценте от значения?
Разница заключается в том, что процентное соотношение основано на исходном значении, тогда как процентное соотношение в процентах предполагает, что сумма уже включает ваш процент, а база соответственно ниже.
Например, в процентах от расчета будет: "Если я вложу 1000 долларов на 15%, сколько я получу после одного года?" Разумеется, ответ будет стоить 150 долларов. Процентный расчет будет "у меня было 15% инвестиций в течение года, а сейчас оно стоит 1000 долларов. С чего я начал?" Ответ на этот вопрос составляет не 850 долларов, как можно было бы наивно ожидать.
Поскольку вы упоминали об итогах, я подозреваю, что вы ищете процент в целом. Чтобы получить формулу для нее, вам нужно отступить от формулы DaEagle:
Его версия была:
NewValue = $1000 * 15%
Таким образом, общее число:
Итого = $1000 * (1 + 0,15)
Для процентного расчета вы знаете общее количество, но вы не знаете стартового значения:
$1000 = StartValue * (1 + 0.15)
Решение для StartValue:
StartValue = $1000/(1 + 0.15)
StartValue = $869.57
$x = 15;
$total = 1000;
$answer = $total * $x / 100
Вы должны рассмотреть случай, когда totalAmount равен нулю или вы рискуете ошибкой во время выполнения (деление на ноль). Кроме того, вы, вероятно, захотите округлить ответ.
#A Perl one liner to to do this is:
$pc=$tot>0 ? sprintf('%.0f', $x/$tot*100 ).'%' : 'N/A';