PHP和一个值为200的int被视为2 100%,以声明另一个变量


PHP and an int with a value of 200 being treated as 2 100%, to declare another variable

我有一个相当原始的问题,我不确定如何才能以最好的方式解决它。

我有一个变量叫做percent,它是一个int型,可以保存0到200之间的任何值

虽然percent的数量不超过100,但它被视为一个百分比来计算另一个变量,让我们说每1%你得到2个苹果。

$percent = 89;
$apples = $percent*2;

当百分比大于100到200时,它应该反过来工作。所以如果percent等于101,它应该是99%

基本上我怎么能很容易地计算苹果的数量从percent这是一个int范围从0-200,当我需要的数字像下面…

如果percent = 0-99

作为正常的百分比值

如果percent = 100

苹果的最大值

如果percent = 101-200

对于每一个超过100的增量,它应该从苹果的最大值中取值。

我想我已经解释得够好了,

谢谢。

我认为优雅的数学方法如下:

$true_percent = 100 - abs(100 - $percent);

试试100 - abs(100 - $percent)

abs(100 - $percent)给出了两个值之间的距离。99101都是1

100中减去这个距离可以得到所需的输出