javascript - 如何在 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 个月的答案。
但是,当我输出它时,我得到了一些非常奇怪的结果,显然我将公式转换为代码是不正确的。
谢谢
解决方案
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)))))
。
推荐阅读
- django - 无法使用 Django 提交表单(使用 UserCreationForm 和 ModelForm)
- typescript - 'string | 类型的参数 VNode'不可分配给'VNode & string'类型的参数
- python - 想要将 pandas df 代码转换为 pyspark df 代码?
- windows - AllocConsole 和标准输入/标准输出
- c# - C#“新”实例立即处置?
- sql - 有没有办法使用 Excel 获取 Oracle 错误的行号?
- python-3.x - 检查按钮中的调整复选框大小
- c# - 将 PrintDialog 和 PrinterSettings 从 winforms 迁移到 wpf
- c - C程序中的sha256,字符到字节的转换
- python - 根据图像高度和重量调整框架