0
當我在javascript中將其值設置爲16.56時,currentTime屬性會自動更改爲16.559999。 我需要正確的值是16.56。<audio> currentTime自動更改值
對於他改變價值的任何想法?
當我在javascript中將其值設置爲16.56時,currentTime屬性會自動更改爲16.559999。 我需要正確的值是16.56。<audio> currentTime自動更改值
對於他改變價值的任何想法?
這是因爲JavaScript使用浮點數來表示所有數字,請參閱w3schools。浮點數不能表示所有數字,因爲它們只有一定的精度。 16.56是無法完全表示的(許多)數字之一。這與我們不能準確地用十進制表示1/3
的方式相似,因爲它需要一個重複的十進制。有關更多詳細信息,請參見this discussion。
繞過這兩個選項是四捨五入到小數點後兩位,或者可能所有操作都乘以100,然後在顯示結果時除以100。
如果出於顯示目的,只需執行'el.currentTime.toFixed(2)'。如果在再次分割前x100記住要設置數字整數('Math.round(n * 100)/ 100')。 – K3N
它像一個魅力。感謝您的解釋 –