Я хочу подсчитать, какой процент от общей суммы составляет x долларов. $ x может быть 15%, 20% и т.д., а сумма $ может быть 1000, 2000 и т.д. Так что я бы хотел, например, 15% от 1000.
Какая формула для расчета этого? (Я знаю, что это не точно вопрос кодирования, но я кодирую эту функцию, и мне нужна помощь!





Учитывая 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
Что всегда равно 0 в целочисленной арифметике.
@ [Airsource Ltd]: ну, это было бы глупо пытаться вычислить проценты, не так ли?
Процент обычно представляет собой число от 0 до 100. В любом случае его значение - на сотню.
@ [Szere Dyeri]: процентное значение отображается как 0–100, но рассчитывается как десятичное значение 0–1. По крайней мере, на всех языках программирования, которые я когда-либо использовал ;-)
Не знаю, упустил ли я что-то здесь, но если вам просто нужен процент от числа, просто умножьте его на процент и разделите на 100:
NewTotal = Итого * Процент / 100
IE:
NewTotal = 1000 * 15/100
или же
NewTotal = 1000 * 0,15
(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 = 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';
Вы ищете процент от значения или процент от значения?
Разница в том, что процентное соотношение основано на исходном значении, тогда как процентное значение в процентах предполагает, что общая сумма уже включает ваш процент, а база, соответственно, ниже.
Например, расчет в процентах будет выглядеть следующим образом: «Если я вложу 1000 долларов под 15%, сколько я получу через год?» Ответ, конечно, 150 долларов. Расчет процентной доли будет таким: «У меня были эти 15% инвестиций в течение года, и теперь они стоят 1000 долларов. С какой суммы я начал?» Ответ на это НЕ 850 долларов, как можно было бы наивно ожидать.
Поскольку вы упомянули общую сумму, я подозреваю, что вы ищете процент от общей суммы. Чтобы вывести формулу для этого, вы должны работать в обратном направлении от формулы Даигла:
Его версия была:
NewValue = 1000 $ * 15%
Итого таким образом будет:
Итого = 1000 $ * (1 + 0,15)
Для расчета процентной доли вы знаете общую сумму, но не знаете начальное значение:
1000 долларов США = Начальная стоимость * (1 + 0,15)
Решение этого для StartValue:
StartValue = 1000 $ / (1 + 0,15)
StartValue = 869,57 долл. США
Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что он касается Математика, а не программирования или разработки программного обеспечения.