我在使用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函数时出错?
答案 0 :(得分:2)
这只是你的运算符优先级错误。试试这个:
B2 * Math.pow(1 + B3, B6)
那给了我53913.95661331625
Excel正在^
之前评估*
运算符,因此虽然它看起来像(A*B)^C
,但它实际上是A*(B^C)
答案 1 :(得分:0)
var B2 = 40000;
var B3 = 1/100;
var B6 = 30;
var result = B2*Math.pow(1 + B3,B6);