Math.pow()出错了

时间:2016-10-05 15:50:10

标签: javascript excel math jquery-calculation

我正在尝试创建我在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计算并获得相同的数字?

1 个答案:

答案 0 :(得分: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中它表示按位xor运算,而在excel中它表示与Math.pow相同。

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

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

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