Google表格上的PV公式可以包含3、4或5个参数。我正在尝试在JavaScript中给定参数的情况下计算当前值,但似乎无法弄清或找到Google表格正在使用的公式。
当前正在传递给函数的参数,函数=PV(.00115, 7.57, $66.88)
的输出为$ 503.89。这是如何计算的?我需要在JavaScript中复制此公式,或者找到某种类型的函数库,该函数可以为我完成此任务。
在查阅了Wikipedia之后,我想到了这个函数,该函数将相同的结果返回到内置PV
。通过将其作为自定义函数输入并向其抛出一些随机值进行测试。
function myPV(rate, num, amount, remain, type) {
if (type == 0) {
var factor = (rate == 0 ? num : (1 - Math.pow(1+rate, -num))/rate);
return -amount*factor - remain * Math.pow(1+rate, -num);
}
else {
var factor = (rate == 0 ? num : (1 - Math.pow(1+rate, -num))*(1+rate)/rate);
return -amount*factor - remain * Math.pow(1+rate, -num);
}
}
优化和现代化:
/**
* @param {number} rate - interest rate
* @param {number} num - number of payments
* @param {number} amount - payment amount
* @param {number} remain - final value
* @param {number} type - 0 for end-of-period payments, 1 for start-of-period payments
*/
function myPV(rate, num, amount, remain, type) {
let factor;
if (type == 0) {
factor = (rate == 0 ? num : (1 - Math.pow(1+rate, -num))/rate);
} else {
factor = (rate == 0 ? num : (1 - Math.pow(1+rate, -num))*(1+rate)/rate);
}
return -amount*factor - remain * Math.pow(1+rate, -num);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句