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);
}
关于javascript - 如何在 Google 表格中计算现值 (PV)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36757661/