本文概述
- 例子
- 在哪里可以使用此功能
/*** Calculates in percent, the change between 2 numbers.* e.g from 1000 to 500 = 50%* * @param oldNumber The initial value* @param newNumber The value that changed*/function getPercentageChange($oldNumber, $newNumber){$decreaseValue = http://www.srcmini.com/$oldNumber - $newNumber;
return ($decreaseValue / $oldNumber) * 100;
}
请注意, 如果更改旧数字和新数字的顺序, 答案将有所不同, 因此请确保第一个参数是该值的第一个版本, 这意味着该值不变, 而第二个参数是该值改变了。
例子以下示例根据角度显示了百分比变化的两种不同情况, 即正数(减少)为负数(增加):
注意负值表示百分比增加。
// X = 500// Y = 234// % = 53.2echo getPercentageChange(500, 234);
// X = 1000// Y = 890// % = 11echo getPercentageChange(1000, 890);
// X = 5// Y = 2// % = 60echo getPercentageChange(5, 2);
// X = 100// Y = 120// % = -20// Note: negative as it incremented 20%echo getPercentageChange(100, 120);
// X = 500// Y = 500// % = 0// Note: no percent changeecho getPercentageChange(500, 500);
在哪里可以使用此功能例如, 如果你使用的是图像压缩算法, 则可能需要以百分比形式显示人类可读的值, 该值指示从初始图像中压缩了多少, 其中oldNumber是原始文件大小, 例如1MB, newNumber是500KB, 这将结果减少了50%。
【如何从PHP中的2个值计算百分比变化(增加和减少)】编码愉快!
推荐阅读
- 什么是PHP Year 2038(Y2K38)错误以及如何解决它
- 在Symfony 3中将Bootstrap 4分页控制布局与KnpPaginatorBundle一起使用
- 如何在Symfony 3中使用PHP将PDF转换为图像
- 如何使用BeSimpleI18nRoutingBundle在Symfony 3中处理路由国际化
- 如何在Unity3d游戏中检索Android安装引荐来源网址
- onClick按钮导致Android崩溃
- Word = win32.Dispatch(“ Word.Application”)不管Word.Visible = False命令,每隔一次显示打开的文件
- Mean stack web app的基于角色的访问控制
- 发送的广播数据报在Android中无法通过EACCES