1

我很难让我的 JavaScript 产生与给我的电子表格相同的结果。

公式如下:

=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 函数时出错了?

4

2 回答 2

2

只是您的运算符优先级是错误的。试试这个:

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

这给了我 53913.95661331625

Excel 在 之前评估^运算符*,所以虽然看起来像(A*B)^C,但实际上是A*(B^C)

于 2011-08-22T09:34:51.490 回答
0
var B2 = 40000; 
var B3 =  1/100; 
var B6 = 30;

var result = B2*Math.pow(1 + B3,B6);
于 2011-08-22T09:36:13.487 回答