使用JavaScript从数字中递减值时添加的额外数字
我试图从一个数字中减去0.01,第一次效果很好,但是当我尝试再减去一次时,它会增加一些额外的数字 以下是我的JavaScript代码:使用JavaScript从数字中递减值时添加的额外数字,javascript,Javascript,我试图从一个数字中减去0.01,第一次效果很好,但是当我尝试再减去一次时,它会增加一些额外的数字 以下是我的JavaScript代码: function decrement() { var credits_sidebar = $('#credits_sidebar').html(); var credits_update = credits_sidebar - 0.01; $("#credits_sidebar").fadeOut('');
function decrement() {
var credits_sidebar = $('#credits_sidebar').html();
var credits_update = credits_sidebar - 0.01;
$("#credits_sidebar").fadeOut('');
$("#credits_sidebar").html(credits_update);
$("#credits_sidebar").fadeIn('');
}
如果您单击一次减量按钮,它会工作,但如果您单击另一次,则数字将为95.979999999,而应为95.98
下面是一个JSFIDLE示例:
这是浮点值表示的问题。 你应该考虑使用< /P> Math.roundcredits_侧栏-0.01*100/100
var credits_update = (credits_sidebar - 0.01).toFixed(2)
JSFIDLE demo:这种行为是正常的,也是意料之中的,因为在JavaScript中进行浮点运算的方式
但是,您可以简单地将数字乘以100,使其成为需要递减的整数,然后您可以进行递减,并将结果除以100,以获得正确的十进制答案。您需要更新此代码:
var credits_update = (credits_sidebar - 0.01).toFixed(2);