[英]Financial calculation with JavaScript (What´s wrong?)
我正在嘗試進行財務計算,但出了點問題。
JS代碼:
function count (){
var coda = 1.500;
var codb = 15;
var codc = 0.06;
var codx = 1;
var result = (codc/codx(codx-((codx+codc)*-codb)))*coda;
alert(result);
}
消息:未定義
在這一行var result = (codc/codx(codx-((codx+codc)*-codb)))*coda;
您嘗試將第二個codx
作為函數( codx()
)執行。 我猜你錯過了那里的一個操作數。
嘗試例如: var result = (codc/codx / (codx-((codx+codc)*-codb)))*coda;
您缺少*
運算符,因此編譯器嘗試將codx
作為函數調用。
要修復您的計算,請添加*
運算符,如下所示:
function count (){
var coda = 1.500;
var codb = 15;
var codc = 0.06;
var codx = 1;
var result = (codc/codx * (codx - ((codx+codc)*-codb)))*coda;
// ^
alert(result);
}
缺少 * 符號? 因此,codx 被用作函數。
var coda = 1.500; var codb = 15; var codc = 0.06; var codx = 1; var result = (codc/codx*(codx-((codx+codc)*-codb)))*coda; alert(result);
有點跑題,但你永遠不應該在金融計算中使用浮點算法。 而是按整數美分計算,然后根據需要設置格式以供查看。
在這種情況下,
最好拆分數學計算。
例子:
function count (){
var coda = 1.500;
var codb = 15;
var codc = 0.06;
var codx = 1;
var res1 = ((codx+codc)*-codb);
var res2 = codx-res1;
var result = (codc/codx*res2)*coda;
alert(result);
}
var count = function () {
var coda = 1.5; var codb = 15; var codc = 0.06; var codx = 1;
var result = (codc/codx ** here ** (codx-((codx+codc)* - codb))) * coda;
console.log(result);
}
PS 你必須在codx之后放一些東西,它被 javascript 視為未定義的函數。
如果這涉及在每個還款期以i
的利息償還貸款,那么在以r
的利率支付n
后,減少的本金為
p*(1+i)^n-r*(1+i)^n-r*(1+i)^(n-1)-...-r*(1+i)
=
p*(1+i)^n - (1+i)*((1+i)^n-1)/i*r
如果為零,則償還貸款,則必要利率計算為
r = i/((1+i)*(1-(1+i)^(-n))) * p
這在某些方面相似,在其他基本方面與您的公式不同。
var p = 1.500; var n = 15; var i = 0.06; var x = 1+i; var result = i/( x*( 1-Math.pow(x,-n) ) )*p; alert(result);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.