1

我正在尝试创建我在 Excel 中工作的这个等式的 JavaScript 版本:

Excel版本:

10000*(1+0.06)^30+6000*(((1+0.06)^30-1)/0.06)

这计算出531784.029

JavaScript 版本:

console.log(10000*(1+0.06)^30+6000*(((1+0.06)^30-1)/0.06));

回报:2789622

或者,如果我尝试使用Math.pow()

console.log(10000*(Math.pow(1+.06),30)+6000*(Math.pow((1+.06),30-1)/.06));

回报:841838.7898974773

大约6个小时后,我完全被难住了。如何重新创建该 excel 计算并获得相同的数字?

4

1 回答 1

3

对于与 excel 中相同的行为,您只是在 js 中的函数的运算符顺序和参数错误Math.pow,应该是这样的:

console.log(10000*(Math.pow(1+.06,30))+6000*((Math.pow(1+.06,30)-1)/0.06));

javascript中的^运算符与excel中的运算符不同,在js中表示按位异或运算,而在excel中表示与Math.pow.

javascript 中的Math.pow函数有两个参数,例如,要进行与 excel 中相同的操作,1.06^30您将Math.pow(1.06,30)在 javascript 中执行。

顺便说一句,也许只是您为示例添加的内容,但您不需要添加1+.06您可以只写1.06

 console.log(10000*(Math.pow(1.06,30))+6000*((Math.pow(1.06,30)-1)/0.06));

于 2016-10-05T16:01:02.300 回答