Javascripts数字类型在重要数字和有时四舍五入方面极不可预测。 This JSFiddle包含一个问题的好例子,其中在一系列加法和减法操作中永远无法可靠地达到值0(并且其他可疑结果也是可见的)。
我可以遵循哪些规则来在javascript中可靠地生成正确的浮点运算结果?
供参考,JSFiddle内容包含在下面。
<input id="input" type="number" value="0" />
<button id="plus" type="button">+</button>
<button id="minus" type="button">-</button>
function modify(direction) {
var modifier = direction * 0.10;
var next = Number($('#input').val()) + modifier;
$('#input').val(next);
}
$('#plus').on('click', function () {
modify(1);
});
$('#minus').on('click', function () {
modify(-1);
});