#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;