我想计算$x占$total的百分比。$x可以是15%,20%等,$total可以是1000、2000等。例如,我想要1000的15%。
如何计算?(我知道这不完全是一个编程问题,但我正在编写此功能并需要帮助!)
我想计算$x占$total的百分比。$x可以是15%,20%等,$total可以是1000、2000等。例如,我想要1000的15%。
如何计算?(我知道这不完全是一个编程问题,但我正在编写此功能并需要帮助!)
(actual / available) * 100 = percent // start
actual / available = percent / 100
actual = (percent / 100) * available // finish
例如,1000的15%
actual = (15 / 100) * 1000
actual = 0.15 * 1000
actual = 150
公式:
percentage = partialAmount / totalAmount
totalAmount = partialAmount / percentage
partialAmount = percentage * totalAmount
给定 X 和 Y,X% 的 Y 是 X * Y/100。如果使用整数运算,请确保进行 (X * Y)/100 运算,而不是 (X / 100) * Y。
1000 的 15% 是 (15*1000)/100,即 150。
不知道我是否漏掉了什么,但如果你只想要一个数字的百分比,那就只需要将它乘以百分比并除以100:
NewTotal = Total * Percentage / 100
例如:
NewTotal = 1000 * 15/100
或者
NewTotal = 1000 * 0.15
您是在寻找一个值中的百分比,还是一个值的百分比?
区别在于百分比基于原始值,而百分比假定总数已经包括了您的百分比,并且基数相应较低。
例如,百分比计算将是:“如果我以15%的利率投资1000美元,一年后我会收到多少钱?”答案当然是150美元。而百分比计算将是:“我有这个15%的投资已经一年了,现在价值为1000美元。我最初投入了多少钱?”答案不是像人们可能天真地期望的那样850美元。
由于您提到了总数,我猜想您正在寻找总数中的百分比。要推导出它的公式,您必须从DaEagle的公式开始逆向工作:
他的版本是:
NewValue = $1000 * 15%
因此总数将是:
Total = $1000 * (1 + 0.15)
对于百分比计算,您知道总数,但您不知道起始值:
$1000 = StartValue * (1 + 0.15)
解决起始值:
StartValue = $1000/(1 + 0.15)
初始值= $869.57
你必须考虑 totalAmount 为零的情况,否则会出现运行时错误(除以零)。此外,你可能需要四舍五入答案。
#A Perl one liner to to do this is:
$pc=$tot>0 ? sprintf('%.0f', $x/$tot*100 ).'%' : 'N/A';
$x = 15;
$total = 1000;
$answer = $total * $x / 100