2015-05-08 17 views
-1

我想創建一個Roth IRA值計算器。最終結果將接受年度貢獻金額,利率和貢獻年度總數的值。Javascript Math:幾何系列

計算,等比數列,我需要的是:

Balance(Y) = P(1 + r)Y + c[ ((1 + r)Y + 1 - (1 + r))/r ] 

FWIW,我在這裏得到我的數學信息:http://www.moneychimp.com/articles/finworks/fmbasinv.htm

一個會如何在Javascript寫這個?我一直在閱讀有關的數學函數,但我似乎無法環繞它我的頭......

+1

就像你一樣,只是使用''*在所有情況下和使用乘法'()'代替'[]' – Blazemonger

+0

你可以用'Math.pow(X,Y )對於指數 – Tatermelon

+0

你的函數看起來像這樣,我相信如果我理解得很好的話: 函數平衡(Y,P,r,c)P *(1 + r)* Y + c((( 1 + r)* Y + 1 - (1 + r))/ r) } –

回答

0

正如Yann Chabot

P*(1 + r)*Y + c(((1 + r)*Y + 1 - (1 + r))/r) 

是正確的答案,但正如一個側面說明,如果你沒有P initialy,你應該默認設置爲1。

1

我肯定會在JavaScript的operator precedence

有幾件事情要注意閱讀起來......

分組擁有最高優先級(),不能與方brakets [] 方括號是用來訪問對象成員和數組文字。

沒有在JavaScript中沒有運營商的指數使用Math.pow(x, n)

對於數學運算,必須使用運營商4(x + 1)與拋出 錯誤,告訴你4不是一個函數。 4 * (x + 1)工程。

以下操作符被評估爲左右*/% + -*/%+ -相比優先級高。所以數學運算的行爲將類似於pemdas

另一個說明JavaScript是一種動態鬆散類型的語言。所有數字都是64位浮點數,這可能會在某些數學方程中產生奇怪的結果,例如

> .1 + .2 = 0.30000000000000004 

Another good read