计算给定数字到两个给定数字之间的百分比

时间:2017-02-16 11:11:20

标签: php math

我试图通过提供百分比应该基于的数量来计算两个数字之间的百分比(在Stack溢出时找不到这个 - 只有两个数字之间的百分比)。

让我解释一下:

$start_number = 14700
$end_number = 14900


// This is the number to calculate a percentage for
// in this basic example this should come to 50%
$percentage_number = 14800

我知道我需要做什么,但无法弄清楚如何写它:

其中$ start_number为0%

$ end_number为100%

$ percentage_number = X%

7 个答案:

答案 0 :(得分:1)

$difference = $end_number - $start_number; // 200
$difference_from_start = $end_number - $percentage_number; // 100
$percentage = $difference_from_start / $difference; // 0.5 (50%) 

这是你想要的吗?

答案 1 :(得分:1)

这很简单:

$start_number = 14700;
$end_number = 14900;
$percentage_number = 14800;

$result = (($end_number - $percentage_number) * 100) / ($end_number - $start_number);

echo $result;

输出:

50

答案 2 :(得分:1)

我认为解决方案公式是:

百分比= 100 *(percentage_number - start_number)/(end_number - start_number)

答案 3 :(得分:1)

在这种情况下,$ percentage_number不应小于$ start_number,否则百分比将以负数计算。

您可以使用以下公式:

( ($percentage_number - $start_number) / ($end_number - $start_number) ) * 100 ;

希望它能帮到你。

答案 4 :(得分:0)

让我们说你有两个数字,40和30.

30/40 * 100 = 75。   所以30是40%的75%。

40/30 * 100 = 133。   所以40是30%的133%。

百分比从30增加到40是:
  (40-30)/ 30 * 100 = 33%

百分比从40减少到30:   (40-30)/ 40 * 100 = 25%。

无论你的两个数字如何,这些计算都是正确的。

在PHP中

{{1}}

答案 5 :(得分:0)

diff = $end_number - $start_number

(diff is now = 200)

mid = $end_number - (your number) 

(mid is now = 100)

res = (mid / diff) * 100

(res is now = 50%)

答案 6 :(得分:0)

如果比例从$start_number开始,到$end_number结束,则其大小为$end_number-$start_number。如果$percentage_number在比例范围内,则从开始到比例的$percentage_number-$start_number单位。因此,量表中的相对比率为:

($percentage_number-$start_number)/($end_number-$start_number)

乘以100,你就可以得到百分比。