2017-02-15 44 views

回答

1

這是因爲JavaScript使用浮點數來表示所有數字,請參閱w3schools。浮點數不能表示所有數字,因爲它們只有一定的精度。 16.56是無法完全表示的(許多)數字之一。這與我們不能準確地用十進制表示1/3的方式相似,因爲它需要一個重複的十進制。有關更多詳細信息,請參見this discussion

繞過這兩個選項是四捨五入到小數點後兩位,或者可能所有操作都乘以100,然後在顯示結果時除以100。

+1

如果出於顯示目的,只需執行'el.currentTime.toFixed(2)'。如果在再次分割前x100記住要設置數字整數('Math.round(n * 100)/ 100')。 – K3N

+0

它像一個魅力。感謝您的解釋 –