我需要创建一个可以用十进制迭代的循环,如下所示:
$("#btn").click(function(){
for(i =parseFloat(0.00); i <= 2.00;i=parseFloat(i+0.05)){
$("#paragraph").append(i+"<br/>");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="button" id="btn" value="Create decimals" />
<p id="paragraph"></p>
但结果并不像预期的那样,我需要这样的东西:
感谢您的帮助。
答案 0 :(得分:3)
但结果并不像预期的那样
当我运行您的代码段时,它会输出一些值,如:
0.15000000000000002
这是因为javascript如何处理浮点数。表示不准确。解决方案是使用toFixed
方法,如此answer。
$("#btn").click(function(){
for(i = 0.00; i.toFixed(2) <= 2.00; i = i + 0.02){
$("#paragraph").append(i.toFixed(2) + "<br/>");
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="button" id="btn" value="Create decimals" />
<p id="paragraph"></p>
&#13;
答案 1 :(得分:2)
根据您的预期结果,您可以这样做:
for (var i = 0.00; i <= 2.00; i += 0.02) {
$("#paragraph").append(i.toFixed(2)+"<br/>");
}
答案 2 :(得分:1)
你可以简单地使用int值来创建十进制,将其除以100。 将您的代码更改为beloow。
$("#btn").click(function(){
for(i = 0; i <= 200; i += 2){
$("#paragraph").append(eval(i / 100) + "<br/>");
}
});
答案 3 :(得分:1)
假设您希望将迭代增加0.02
,您可以尝试以下循环:
for (var i = 0; i < 21; i += 2) {
console.log(i / 100);
}
jQuery("#btn").on("click", function() {
for (var i = 0; i < 21; i += 2) {
var result = i / 100;
jQuery("#list").append("<li>" + result + "</li>");
}
});
jQuery("#btn").on("click", function() {
for (var i = 0; i < 21; i += 2) {
var result = i / 100;
jQuery("#list").append("<li>" + result + "</li>");
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<html>
<head>
<title></title>
</head>
<body>
<button id="btn">Generate Numbers</button>
<ul id="list">
</ul>
</body>
</html>
&#13;