我有一个数学公式,我正试图编写作为支付计算器的一部分,但不能想出如何将公式转化为代码(JS)。 谁能帮帮我。 公式如下;
--编辑
为不清楚表示歉意。
n=-1/30 x log(1+b/p(1-(1+i)30)/log(1+i)
其中
n是月数--这也是我试图输出的。 i是日费率b是余额p是月付款
--
这就是我以前所做的;
var balance = $('#bal').val();
var interest = $('#apr').val();
var payment = $('#paym').val();
var dayRate = interest/365;
var n = -(1/30) * (Math.log((1 + (balance/payment)) + ((Math.pow(1 - (1 + dayRate), 30))))) / Math.log(1 + dayRate);
--
计算是根据用户的输入,计算出还清一张信用卡需要多少个月。 我这样做只是为了教自己一些编程--并不是一个真正的项目。
例如,公式的结果--余额5000,利率12%,付款100PM应该显示70个月的答案。
然而,当我输出它时,得到了一些非常奇怪的结果,显然我将公式翻译成代码是不正确的。
谢谢
const n = (-1/30) * Math.log10(1 + ((b/p) * (1 - (30 * (i + 1))))) / Math.log10(1 + i);
这个管用。 我刚刚把你上面的方程式转录成有效的JS。
n
将永远是nan
,但除非p
是负数,这是故意的吗? 如果p
为正,则您将在Math.log10(1+((b/p)*(1-(30*(i+1))))
处取负数的对数。