2017-08-02 46 views
0

我试图从数字中减去“0.01”,它在第一次使用时很好,但是当我尝试再减少一次时,它会添加一些额外的数字。当用JavaScript从数字中减去值时添加额外的数字

这里是我的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.97999999999999"应该95.98来代替。

下面是一个例子的jsfiddle:

https://jsfiddle.net/rozvnay1/

回答

0

这与浮点值表示的一个问题。 您应该考虑使用

Math.round((credits_sidebar - 0.01)* 100))/ 100

0

这是正常现象,因为预期的在JavaScript中完成单向浮点数学运算。

但是,您只需将您的数字乘以100即可使其成为需要递减的整数,然后您可以执行递减并将结果除以100以得到正确的小数答案。

0

您需要更新本作的代码工作:

var credits_update = (credits_sidebar - 0.01).toFixed(2);