我的脑筋都抽筋了
我有一个计算每年10,000美元投资价值的函数。我使用一个保存年回报率的数组。换句话说,在十年的时间里,一个人将投资10万美元。第一个10,000美元将投资10年,接下来的10,000美元将投资9年,等等,最后的10,000美元将只投资一年。投资是在每年年初进行的,回报率是在每年年底计算的。
以下是我的代码
//这是包含收益率的数组
var值= 32.60,7.44,-10.46,43.72,12.06,0.34,26.64,-8.81,22.61,16.42
var rate;var FV;var PV;
function doit() {
var result=document.getElementById("result");
for (j=0;j<values.length;j++){
PV=10000;
for (i=j;i<values.length;i++){
rate = values[i]/100;
FV = (PV * (1+rate));
PV = FV;
}
PV=Number(PV).toFixed(2);
result.innerHTML+="$" + PV + "<br>";
}
}下面是html的输出:
$33981.31 -( 10年后的价值为10,000美元)
$25626.93 -(9年后的下一个$10,000的价值)
$23852.32 -(8年后的下一个$10,000的价值)
$26638.73 -(等)
18535.16美元
16540.39美元
16484.34美元
13016.69美元
14274.26美元
$11642.00 -(1年后最后$10000的价值)
这些是由我的循环生成的变量PV的值
我的问题是如何获得这些值的总和,以便显示投资的总价值,即在十年内每年投资10,000美元的结果。实际结果是$200,592.13
提亚
发布于 2014-01-31 15:01:58
您可以在函数上方声明一个total变量:
var total = 0 ;
function doit()
{
...
total += PV; // (this is at the end of the function)
}
function gettotal()
{
result.innerHTML += "Total: $" + total;
}发布于 2014-01-31 14:57:43
你想看总金额吗?看起来很简单。
var sum = 0;
and inside cycle: sum = sum + PV我觉得你还需要别的东西
发布于 2014-01-31 15:06:54
使用+=运算符附加到循环外部的变量。为了获得最大的准确性和速度,您应该在使用toFixed之前附加您的数字,因为它将两个floors都转换为字符串。
function doit() {
var sum = 0;
for (j=0;j<values.length;j++){
...
sum += PV; // Add to sum, best to do before flooring it
PV=Number(PV).toFixed(2);
}
return sum;
}https://stackoverflow.com/questions/21474133
复制相似问题