Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript从数字中递减值时添加的额外数字_Javascript - Fatal编程技术网

使用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('');

我试图从一个数字中减去0.01,第一次效果很好,但是当我尝试再减去一次时,它会增加一些额外的数字

以下是我的JavaScript代码:

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);