Php 计算两个数字之间的百分比变化

Php 计算两个数字之间的百分比变化,php,math,Php,Math,以下代码用于计算两个不同数字之间的百分比变化,原始数字可以是更大或更小的数字,请对此进行澄清。那么,这段代码是否适用于显示增加+或减少-更改?谢谢 $original= 100; $current = 95; $percentChange = (1 - $original / $current ) * 100; 是的,它将用于显示增加+或减少-变化。是的,它将用于显示增加+或减少-变化。找到差异,然后像这样计算百分比 <?php $original= 100; $cur

以下代码用于计算两个不同数字之间的百分比变化,原始数字可以是更大或更小的数字,请对此进行澄清。那么,这段代码是否适用于显示增加+或减少-更改?谢谢

$original= 100;
$current = 95;

$percentChange = (1 - $original / $current ) * 100;

是的,它将用于显示增加+或减少-变化。

是的,它将用于显示增加+或减少-变化。

找到差异,然后像这样计算百分比

<?php
    $original= 100;
    $current = 115;
    $diff = $current - $original;
    $more_less = $diff > 0 ? "More" : "Less";
    $diff = abs($diff);
    $percentChange = ($diff/$original)*100;
    echo "$percentChange% $more_less agaist $original";
?>

110
90
100


现场演示:

找到差异,然后像这样计算百分比

<?php
    $original= 100;
    $current = 115;
    $diff = $current - $original;
    $more_less = $diff > 0 ? "More" : "Less";
    $diff = abs($diff);
    $percentChange = ($diff/$original)*100;
    echo "$percentChange% $more_less agaist $original";
?>

110
90
100


实时演示:

此函数更有用,因为它可以防止被零除,输出是可舍入的,并且它可以处理正(增加)和负(减少)返回值

如果(!function_存在('pct_change')){
/**
*生成两个数字之间的百分比变化。
*
*@param int |浮动$old
*@param int |浮动$new
*@param int$precision
*@返回浮动
*/
函数pct_change($old,$new,int$precision=2):浮点
{
如果($old==0){
$old++;
$new++;
}
$change=($new-$old)/$old)*100;
返回轮($change,$precision);
}
}

此函数更有用,因为它可以防止被零除,输出是可舍入的,并且它可以处理正(增加)和负(减少)返回值

如果(!function_存在('pct_change')){
/**
*生成两个数字之间的百分比变化。
*
*@param int |浮动$old
*@param int |浮动$new
*@param int$precision
*@返回浮动
*/
函数pct_change($old,$new,int$precision=2):浮点
{
如果($old==0){
$old++;
$new++;
}
$change=($new-$old)/$old)*100;
返回轮($change,$precision);
}
}

您尝试过什么?只需输入一个更大的数字,您就会看到。这不是一个数学问题而不是编程吗?我可以使用一个在线php沙盒,它看起来不错,谢谢。您尝试了什么?只要输入一个更大的数字,你就会看到。这不是数学问题,而不是编程吗?我可以使用一个在线php沙盒,它看起来很好,谢谢。谢谢,伙计,我喜欢多/少开关,我将使用+/-我知道这是旧的,但无论如何我想感谢你。我最初在问题中使用的是许多网站推荐的公式,但该解决方案存在缺陷。如果有一个-100%的变化除以0将总是返回未定义的,所以它不会告诉你一个-100%的变化,这篇文章中的解决方案是正确的。谢谢伙计,我喜欢多/少开关,我将使用+/-我知道这是旧的,但无论如何我想感谢你。我最初在问题中使用的是许多网站推荐的公式,但该解决方案存在缺陷。如果有一个-100%的变化除以0将总是返回未定义的,所以它不会告诉你-100%的变化,这篇文章中的解决方案是正确的。很好!谢谢,伙计,正是我需要的好!谢谢,伙计,这正是我需要的