首页 > 解决方案 > 如何在 Javascript 中编写数学公式

问题描述

我有一个数学公式,我试图将其作为支付计算器的一部分编写,但不知道如何将公式转换为代码 (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 个月的答案。

但是,当我输出它时,我得到了一些非常奇怪的结果,显然我将公式转换为代码是不正确的。

谢谢

标签: javascriptcalculation

解决方案


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)))))


推荐阅读