JavaScript 的财务计算(怎么了?)
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);
}
消息:未定义
您缺少 *
运算符,因此编译器尝试将 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);
在这一行
var result = (codc/codx(codx-((codx+codc)*-codb)))*coda;
您尝试将第二个 codx
作为函数 (codx()
) 执行。我想你在那里错过了一个操作数。
例如尝试:
var result = (codc/codx / (codx-((codx+codc)*-codb)))*coda;
稍微跑题了,但你永远不应该在财务计算中使用浮点运算。而是按整数分计算,然后根据需要格式化以供查看。
在这种情况下,
最好拆分数学计算
示例:
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);
}
P.S 你必须在 codx 之后添加一些东西,它被 javascript 视为未定义的函数。
如果这涉及在每个还款期按利息 i
偿还贷款,那么在 n
以 r
的利率还款后,减少的本金是
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);
我正在尝试进行财务计算,但出了点问题。
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);
}
消息:未定义
您缺少 *
运算符,因此编译器尝试将 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);
在这一行
var result = (codc/codx(codx-((codx+codc)*-codb)))*coda;
您尝试将第二个 codx
作为函数 (codx()
) 执行。我想你在那里错过了一个操作数。
例如尝试:
var result = (codc/codx / (codx-((codx+codc)*-codb)))*coda;
稍微跑题了,但你永远不应该在财务计算中使用浮点运算。而是按整数分计算,然后根据需要格式化以供查看。
在这种情况下,
最好拆分数学计算
示例:
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);
}
P.S 你必须在 codx 之后添加一些东西,它被 javascript 视为未定义的函数。
如果这涉及在每个还款期按利息 i
偿还贷款,那么在 n
以 r
的利率还款后,减少的本金是
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);