我编写了一个简单的javascript代码,如下所示:
<script type="text/javascript">
$(document).ready(function () {
var $log = $("#log");
var $inp = $("#inp");
var step = 0.01;
for (var i = 0; i < 20; i++) {
var num = new Number($inp.val()) + step;
$inp.val(num);
$log.val($log.val() + '\r\n' + num);
}
});
</script>
<body>
<input type="text" id="inp" value="1" /><br />
<textarea id="log" rows="30" cols="20"></textarea>
</body>
日志结果显示如下:
1.01
1.02
1.03
1.04
1.05
1.06
1.07
1.08
1.09
1.1
1.11
1.12
1.1300000000000001
1.1400000000000001
1.1500000000000001
1.1600000000000001
1.1700000000000001
1.1800000000000001
1.1900000000000001
1.2000000000000001
当我将0.01添加到1.12时会发生什么情况? 为什么变成1.1300000000000001? 有人可以解释一下吗?