Squ*_*Cat 0 php algorithm math formula percentage
我有一个值,我需要转换为给定一组规则的百分比.
VALUE=X
Run Code Online (Sandbox Code Playgroud)
其中X可以是从0开始的任何东西
如果:
X > 200
Run Code Online (Sandbox Code Playgroud)
我的函数的结果应该是100(百分比).
如果:
X < 200 AND >= 100
Run Code Online (Sandbox Code Playgroud)
结果应该在100到50之间(百分比).示例:X = 150将为75%
如果:
X < 100 AND >= 80
Run Code Online (Sandbox Code Playgroud)
结果应该在50到25之间(百分比).示例:X = 90将为37.5%
而如果:
X < 80
Run Code Online (Sandbox Code Playgroud)
结果应该在25和0之间(百分比).
我在PHP中的方法就是这样的
if($value > 200) return 100;
if($value > 100 && $value < 200) return ???;
Run Code Online (Sandbox Code Playgroud)
... 等等.
哪里??? 显然代表我不知道如何设置的公式.
有没有办法在一个单一的公式中做到这一点?即使不是 - 这个问题的数学方法是什么?
我知道这是非常基本的,但似乎我在小学里跳过了太多的数学课.
该功能可以分段定义:

在图形上,这用四条不同梯度的直线表示.虽然没有办法在没有单独部分的情况下表示此功能,但实现上述操作非常容易.
在PHP中,此函数可以写为:
function f($x) {
if ($x >= 200)
return 100;
if ($x >= 100 && $x < 200)
return 50 + 50 * (($x - 100) / 100);
if ($x >= 80 && $x < 100)
return 25 + 25 * (($x - 80) / 20);
if ($x < 80)
return 25 * ($x / 80);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1921 次 |
| 最近记录: |