我这里有大脑抽筋
我有一个计算每年10,000美元投资价值的函数。我使用一个保持年回报率的数组。换言之,在十年期间,一个人将投入10万美元。第一个10,000美元将投资10年,下一个10,000美元将投资9年等等,最后的10,000美元将只投资一年。投资在每年年初进行,回报率在每年年底计算。
这是我的代码
//这是包含回报率的数组
var values = [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
TIA
答案 0 :(得分:3)
您可以在函数上方声明一个总变量:
var total = 0 ;
function doit()
{
...
total += PV; // (this is at the end of the function)
}
function gettotal()
{
result.innerHTML += "Total: $" + total;
}
答案 1 :(得分:0)
你想看到总金额吗?看起来很简单。
var sum = 0;
and inside cycle: sum = sum + PV
我觉得你需要别的东西
答案 2 :(得分:0)
使用+=
运算符追加循环外的变量。为了获得最高的准确性和速度,您应该在使用toFixed
作为两个楼层并将其转换为字符串之前附加您的号码。
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;
}