2017-08-02 89 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);