2012-05-29 215 views
0

我得到了下面的Excel公式來計算貸款的法國制度的興趣:JavaScript的數學公式

=+G15*B15/(1-(1+G15)^(-H15)) 

其中:

​​

正如我通常有問題有着怎樣獲取訂單解決了我在小衝突中分解公式。這是我有

// user input 
var importe = parseFloat($('#importe_prestamo').val()); 
var plazo = parseFloat($('#plazo_prestamo').val()); 

//formula 
var formula1 = 0.0133 * importe; 
var parentesis1 = parseFloat(1 + importe); 
var potencia = Math.pow(parentesis1,plazo); 
var parentgde = 1 - potencia; 
var totalcount = formula1/parentgde; 
console.log(totalcount); 

我在「importe」進入10000和「144」,在plazo但得到totalcount = 0因爲「VAR potencia」返回「無限」

I'have一直在做對於這個項目,這個公式需要數週的時間,我對這麼多的信息感到困惑,現在我不知道如何繼續解決這個公式。任何指針都會很棒。由於

+1

你錯過了一個減號:'var potencia = Math.pow(parentesis1,plazo);' – Gandaro

+1

想想你在做什麼:importe + 1 = 10001,你將它提升到144的能力。這意味着像10^148這樣的數字。什麼電腦可以代表一個如此之大的數字?將它與宇宙中的原子數進行比較:http://www.universetoday.com/36302/atoms-in-the-universe/ – duffymo

+0

我在這裏以盲目模式駕駛,我得到了這個項目的所有公式I的惡夢一直在處理。我讀了我的代碼幾十次,並沒有發現我錯過了一個1-,我需要一個新的想法。感謝Gandaro,你想把它張貼爲一個anser,所以我把它標記爲答案? – Juan

回答

1

你在該行錯過減:

var potencia = Math.pow(parentesis1,plazo); 

應該

var potencia = Math.pow(parentesis1, -plazo); 

雖然你可以寫整個公式在一行...

編輯:怎麼? ;-)

var G15 = 0.0133, B15 = importe, H15 = plazo; 
var total = G15 * B15/(1 - pow(1 + G15, -H15)); 
+1

同意...一個班輪會更好:D – c0deNinja

+0

任何想法爲什麼給予G = 15,B = 10000,H = 144和0.1325而不是0.133在Excel中,公式等於155.93和JavaScript 132.5? – Juan

+0

請問您以前使用過的名字嗎?在你的公式中,G [15]是0.0133,你想成爲0.1325,但你說G = 15。 – Gandaro

1

根據公式......

var parentesis1 = parseFloat(1 + importe); 

應該

var parentesis1 = parseFloat(1 + 0.0133); 

,並提到你還缺少 - 。

+0

對!我錯過了那一個。 ;-) – Gandaro