2017-02-16 77 views
0

我想通过提供百分比应该基于的数量来找出两个数字之间的百分比(无法在堆栈溢出中找到此数字 - 只有百分比两个数字)。计算两个给定数字之间的百分比给定的数字

让我解释一下:

$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_numb呃= X%

+0

你的问题根本不清楚.. –

+0

没有得到你的问题你能解释吗? –

+0

'($ percent_number- $ start_number)/($ end_number- $ start_number)' – IllidanS4

回答

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

难道你想要什么?

+0

这看起来不错! –

+0

@FriendlyCode除非$'percent_number'是14900,否则这是0。 – IllidanS4

+0

这个答案效果很好,我只需要扭转百分比,所以它的数字越高越好。 $ new_percentage = 1 - $百分比; –

0

比方说,你有两个数字,40和30

四十零分之三十〇* 100 = 75 所以30是75%,40

三十零分之四十零* 100 133. = 所以40是30.

133%从30增加至40百分比是:
(40-30)/ 30×100 = 33%

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

无论您的两个数字如何,这些计算都适用。

在PHP

$oldFigure = 14; 
$newFigure = 12.50; 

$percentChange = (1 - $oldFigure/$newFigure) * 100; 

echo $percentChange; 
+0

http://thisinterestsme.com/php-percentage-difference/ –

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%) 
0

如果比例尺开始于$start_number并结束于$end_number,则其大小为$end_number-$start_number。如果$percentage_number在规模上,则从$percentage_number-$start_number单位开始进入规模。因此,规模中的相对比例为:

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

乘以100,您将得到百分比。

1

那么这是非常简单:

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

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

echo $result; 

OUTPUT:

50 
1

我THIK该溶液公式将是:

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

1

在这种情况下$ percent_number不应该是l ess than $ start_number否则百分比将以负值计算。

你可以用下面的公式:

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

希望it'ill帮助你。