Формула таблицы Excel в вопрос JavaScript - PullRequest
0 голосов
/ 06 июля 2010

Привет всем, что я пытаюсь выяснить, как идти по поводу вычисления этой формулы из Excel 2007 FX в JavaScript:

 =(B12*'ROI endo only'!B5)/(1-(1+Data!B12)^(-Data!B13))

 WHERE
   B12 = 0.49%
   B5  = 99,500
   B13 = 48

Пока у меня есть это как мой код JavaScript:

 var theCalc = (0.49 * 99500) / (1 - (1 + 0.49)^(-48));

 alert(theCalc);

Хотя я не получаю правильный результат, как то, что я получаю в электронной таблице. Электронная таблица имеет значение 2,332 , и я получаю -1015.72916 ... из кода JavaScript.

Любая помощь будет полезна в решении моей проблемы: o)

UPDATE

 var theCalc = (0.0049 * 99500) / (1 - Math.pow((1 + 0.0049), -48));

David

Ответы [ 2 ]

0 голосов
/ 07 июля 2010
<html>
<head>
<title>test</title>
</head>

<body onload="testfun();">

<script type="text/javascript"> 
function testfun(){
    document.getElementById('testRes').innerHTML = (.0049 * 99500) / (1 - Math.pow((1+.0049), -48));
}
</script>

The answer:
<div id="testRes"></div>

Это дает результат 2331.290084493742

0 голосов
/ 06 июля 2010

Я считаю, что проблема с ^.В javascript ^ не означает показатель степени, как в VB.Вместо этого вы должны использовать метод Math.pow.Попробуйте этот JavaScript:

var theCalc = (0.49 * 99500) / Math.pow( 1 - (1 + 0.49), -48 );
...