我在excel中有以下公式:
=B8*((1+((1+B9)^(1/12)-1))^12*(((1+B9)^(1/12))-1))/((1+((1+B9)^(1/12)-1))^12-1)
在哪里:B8 = 1878
B9 = 17.9%
结果我得到= 170.91如何将其转换为 javascript?
我尝试使用
Math.pow
但我发现这很困难,因为公式很复杂。
最佳答案
计算中有两个主要功能,在您的 Excel 公式中重复了很多。您可以在 Javascript 函数中预先定义它们以简化计算:a
: (1 + B9
) 的 12 次根,减去 1: Math.pow(1 + B9, 1 / 12) - 1
b
: (a) 加 1 的 12 次方的值:Math.pow(1 + a, 12)
那么你的公式的简化版本是B8 * (a * b) / (b - 1)
.
因此,您的功能可以低于 B8
是 x
, B9
是 y
, 和 a
和 b
根据以上:
function foo(x, y) {
const a = Math.pow(1 + y, 1 / 12) - 1;
const b = Math.pow(1 + a, 12);
return x * (a * b) / (b - 1);
}
const answer = foo(1878, 0.179);
console.log(answer);
关于javascript - 使用多个 Math.pow 将 Excel 公式转换为 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66898029/