PHP и int со значением 200 обрабатываются как 2 100%, чтобы объявить другую переменную - PullRequest
1 голос
/ 03 декабря 2011

У меня довольно оригинальная проблема, и я не уверен, как лучше ее решить.

У меня есть переменная, допустим, она называется percent, это int, который может содержать любое значение в диапазоне от 0 до 200.

Хотя число percent не превышает 100, оно обрабатывается как процент для расчета другой переменной, скажем, что на каждый 1% вы получаете 2 яблока.

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

Хотя число процентов больше 100 до значения 200, оно должно работать в обратном порядке. Поэтому, если percent равно 101, оно должно действовать как 99%.

В основном, как я могу легко рассчитать количество яблок из percent, которое является целым числом в диапазоне от 0-200, когда мне нужно, чтобы число действовало, как показано ниже ...

Если percent равно 0-99

Действует как нормальное процентное значение

Если percent равно 100

Максимальное значение для яблок

Если percent равно 101-200

Для каждого приращения свыше 100 его следует брать из максимального значения яблок.

Я думаю, что объяснил это достаточно хорошо,

Спасибо.

Ответы [ 2 ]

3 голосов
/ 04 декабря 2011

Я думаю, что элегантный математический подход заключается в следующем:

$true_percent = 100 - abs(100 - $percent);
3 голосов
/ 03 декабря 2011

Попробуйте 100 - abs(100 - $percent).

abs(100 - $percent) дает вам расстояние между двумя значениями.Это 1 для 99 и 101.

. Вычитание этого расстояния из 100 дает требуемый выходной сигнал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...