Преобразование формулы Excel в расчет JavaScript - PullRequest
1 голос
/ 22 июля 2011

У меня есть этот форум в листе Excel:

=IF(B$3=0,B$14*B$2*B$6,(1-((1+B$3))^B$6)/LN(1/(1+B$3))*B12*B$2)

, где ячейки:

B2 = 40000

B3 = 1,0%

B6 = 30

B12 = 10,0%

B14 = 20,0%

Excel дает следующий результат: 139,834

Я началглядя на часть 'else', видя, что B3 не равен 1, однако у меня возникли проблемы с моими вычислениями в JavaScript.Вот то, что я получил (код внутри функции):

    var B2 = 40000; 
    var B3 =  1/100; 
    var B6 = 30; 
    var B12 = 10/100;
    var B14 = 20/100;

    var calc = Math.pow ((1-(1+B3)),B6) / Math.log ( (1 / (1+B3)) * B12 * B2);

    return ( calc );

Что я получаю, это 1.2071318349401829e-61

Кто-нибудь знает, где я иду не так или как я мог быполучить правильный результат в JavaScript?

Любая помощь приветствуется.

1 Ответ

3 голосов
/ 22 июля 2011

В Excel у вас есть

1-((1+B$3))^B$6

, что совпадает с

1-(1+B$3)^B$6

в JavaScript у вас есть

Math.pow ((1-(1+B3)),B6)

что отличается

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...