Математическое уравнение PHP

#php #math #variables

#php #математика #переменные

Вопрос:

Я пытаюсь написать математическое уравнение с помощью PHP. Уравнение, которое мне нужно написать, является:

(.0054 * 260000) / (1-1.0054^-360)

Это равно: 1639,958570 (на моем калькуляторе)

В скрипте, который я пишу, оно у меня есть как таковое:

 $dec = .0054;
$amount = 260000;
$months = 360;

$equation = ($dec * $amount) / (1 - (1   $dec)^-$months);

print $equation;
  

Ответ, который я получаю, когда я делаю это, «-3.9»

Есть идеи, что я делаю не так?

Ответ №1:

Попробуйте использовать функцию pow():

 $equation = ($dec * $amount) / (1 - pow(1   $dec, $months * -1));
  

Ответ №2:

Вы не можете использовать ^ для питания. Что вы делаете сейчас, так это то, что вместо этого вы выполняете XOR.

Используйте для этого pow.

Ответ №3:

Да, символ каретки не является представителем экспоненциального оператора в PHP. Оператор ^ (caret) выполняет побитовое исключающее-ИЛИ (XOR) для двух целых чисел

Пример:

 $equation = ($dec * $amount) / (1 - (pow(1   $dec, -$months));
  

Ответ №4:

Вы не можете использовать ^ в качестве степенной функции (это побитовый оператор).

Вместо этого взгляните на функцию pow().

Ответ №5:

попробуйте :

 $dec = .0054;
$amount = 260000;
$months = 360;

$equation = ($dec * $amount) / (1 - pow(1   $dec,-$months));

print $equation;