2011-08-22 80 views
1

我有一些困难让我的JavaScript产生与给予我的电子表格相同的结果。使用JavaScript Math.pow for Excel公式

的表现公式如下:

= B $ 2 *(1 + B $ 3)^ B $ 6

其中

B2 = 40000

B3 = 1%

B6 = 30

经过四舍五入后的结果为53,914。

我的JavaScript如下:

var B2 = 40000; 
var B3 = 1/100; 
var B6 = 30; 

var result = Math.pow(B2 * (1 + B3),B6); 

我总是得到1.5539639994483203e + 138

结果任何人都知道我能得到我的JavaScript产生相同的结果Excel的公式推,或者我可能在使用Math.pow函数时出错了?

回答

2

这只是您的运营商优先级错误。试试这个:

B2 * Math.pow(1 + B3, B6) 

这给了我53913.95661331625

Excel是*之前评估^运营商,所以虽然它看起来像(A*B)^C,它其实A*(B^C)

0
var B2 = 40000; 
var B3 = 1/100; 
var B6 = 30; 

var result = B2*Math.pow(1 + B3,B6);