расчитать процент между двумя числами

231
26 сентября 2017, 07:55

Добрый день, мне нужно рассчитать разницу в процентах двух чисел, оба могут меняться в большую/меньшую сторону. не могу найти нужную формулу. Пробую разные

$a = 10;
$b = 15;
echo 100 * ($a / $b) - 100; // -33.3 b больше в полтора раза а не 1 / 3
$a = 10;
$b = 15;
echo ($b - $a) * 10; // 50 верно, но при попытке увеличить до тысяч результат неверен
echo $a / 100 * $b; - также.
$a = 1500;
$b = 1400;
echo (($b - $a) / $a) * 100; // выдает разные процент при смене чисел

Не может быть чтобы ответа не было

Answer 1

var a = 10, b = 15; 
console.log((b / a - 1) * 100);

Answer 2

В общем случае решение такое:

if ($a === $b) {
    echo "А и Б равны\n";
} elseif ($a < $b) {
    $diff = $b - $a;
    $percent = $diff / $b * 100;
    echo "А меньше Б на {$percent}%\n";
} else {
    $diff = $a - $b;
    $percent = $diff / $a * 100;
    echo "Б меньше А на {$percent}%\n";
}

1 - определяем бОльшее из двух чисел; 2 - находим разницу; 3 - вычисляем, какой процент эта разница составляет от бОльшего числа.

Дальше можно усложнить понимание, сократив код. Определять без условий max($a, $b), находить разницу между ними без условий через abs($a - $b) и раскрыть скобки в выражениях. Но эт вы лучше сами :)

READ ALSO
Run-Time Check Failure #3 - T

Run-Time Check Failure #3 - T

Ошибка при отладке в Visual Studio 2015Если вводить значение больше единицы то программа работает, вводишь меньше - ломается

290
главная библиотека с++ [требует правки]

главная библиотека с++ [требует правки]

Как называется библиотека подключающая все библиотеки в c++?

341