问题描述
我试图使用javascript for循环来计算一些数字。 但是,无法获得理想的结果。
例如,基本数量为10000,百分比为8。
应该是前十二个月
10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000
接下来的12个月,我必须计算10000的8%,并将其添加到基本数量中。 10000的8%是800。因此,下一个12个月的输出是
10800 10800 10800 10800 10800 10800 10800 10800 10800 10800 10800 10800
接下来的12个月,我必须计算10800的8%,并将其添加到以前的基本数量中。 10800的8%是864。因此,接下来12个月的输出是
11664 11664 11664 11664 11664 11664 11664 11664 11664 11664 11664 11664
接下来的12个月,我必须计算11664的8%,并将其添加到先前的基本数量中。 11664中的8%为933.12。 因此,下一个12个月的输出是
12597.12 12597.12 12597.12 12597.12 12597.12 12597.12 12597.12 12597.12 12597.12 12597.12 12597.12 12597.12
到目前为止,已尝试以下代码,
Java脚本
function myFunction() {
l = 12;
a = document.getElementById("base").value;
hk = (a*document.getElementById("per").value)/100;
for (var i = 0; i < l; i++) {
if(i % 12 === 0) {
a = Number(document.getElementById("base").value) + Number(hk);
}
}
document.getElementById("demo").innerHTML += a;
}
的HTML
<div>
<span>Base</span>
<input type="text" id="base" value="10000" />
</div>
<div>
<span>Percentage</span>
<input type="text" id="per" value="8" />
</div>
<button onclick="myFunction()">Click</button>
<p id="demo"></p>
1楼
Nikhil Aggarwal
2
已采纳
2019-02-21 11:23:55
尝试跟随
-
你需要跟踪的更新值的
a
,因此,移动它的功能外 -
在每一次点击,检查值
a
。 如果是第一次,请从输入字段中选择它,然后连续单击,您可以在上一次执行期间从计算值中选择它。 - 要打印该值12次,只需循环以准备结果字符串。
- 最后,将字符串附加到适当的结果元素。
var a; function myFunction() { var l = 12; a = a || Number(document.getElementById("base").value); var hk = (a * document.getElementById("per").value) / 100; a += Number(hk); var r = ""; for (var i = 0; i < l; i++) { r += a + " "; } document.getElementById("demo").innerHTML += r + "<br/>"; }
<div> <span>Base</span> <input type="text" id="base" value="10000" /> </div> <div> <span>Percentage</span> <input type="text" id="per" value="8" /> </div> <button onclick="myFunction()">Click</button> <p id="demo"></p>
您还可以使用代码对迭代进行硬编码,也可以按照以下说明从html中进行选择。
function myFunction() { var l = 12; var a = Number(document.getElementById("base").value); var years = Number(document.getElementById("years").value); var r = ""; for (var i = 0; i < years; i++) { if(i) { var hk = (a * document.getElementById("per").value) / 100; a += Number(hk); } for (var j = 0; j < l; j++) { r += a + " "; } r += "<br/>"; } document.getElementById("demo").innerHTML += r; }
<div> <span>Base</span> <input type="text" id="base" value="10000" /> </div> <div> <span>Percentage</span> <input type="text" id="per" value="8" /> </div> <div> <span>Years</span> <input type="text" id="years" value="4" /> </div> <button onclick="myFunction()">Click</button> <p id="demo"></p>
2楼
ellipsis
1
2019-02-21 11:17:08
我想你在找这个
function myFunction() { var l = 12; var cycle = document.getElementById("cycle").value; var a = document.getElementById("base").value; var hk = parseFloat((a * document.getElementById("per").value) / 100); for (let j = 0; j < cycle; j++) { document.getElementById("demo").innerHTML += "<br>For next 12 months<br>" a = Number(a) + Number(hk); hk = parseFloat((a * document.getElementById("per").value) / 100); for (var i = 1; i <= l; i++) { document.getElementById("demo").innerHTML += '<br>' + a; } } }
<div> <span>Base</span> <input type="text" id="base" value="10000" /> </div> <div> <span>Percentage</span> <input type="text" id="per" value="8" /> </div> <div> <span>Cycles</span> <input type="text" id="cycle" value="4" /> </div> <button onclick="myFunction()">Click</button> <p id="demo"></p>
3楼
Pushkar Adhikari
1
2019-02-21 11:23:25
var a; function myFunction() { l = 12; a = a || document.getElementById("base").value; hk = (a*document.getElementById("per").value)/100; for (var i = 0; i < l; i++) { document.getElementById("demo").innerHTML += ' ' + a; } a = Number(a) + Number(hk); document.getElementById("demo").innerHTML += '<br>' } function call() { b = document.getElementById("cycles").value; if (b) { for (var i = 0; i < b; i++) { myFunction(); } } else { myFunction(); } }
<div> <span>Base</span> <input type="text" id="base" value="10000" /> </div> <div> <span>Percentage</span> <input type="text" id="per" value="8" /> </div> <div> <span>Years</span> <input type="text" id="cycles" value="4" /> </div> <button onclick="call()">Click</button> <p id="demo"></p>
4楼
Satyam Pathak
1
2019-02-21 11:24:05
刚尝试使用Javascript复制输出。 将上环视为要计算的依赖次数。
let baseValue = 10000 const basePercent = 0.08 const months = 12 let numberOfYears = 5 let skipFirstYear = false for(let j = 0; j< numberOfYears; j++ ) { if(j === 1) { skipFirstYear = true } if(skipFirstYear) { baseValue += baseValue * basePercent } for(let i = 0; i<months; i++) { console.log(baseValue) } }