Javascript <;音频>;currentTime自动更改值

Javascript <;音频>;currentTime自动更改值,javascript,html5-audio,Javascript,Html5 Audio,当我在javascript中将currentTime属性的值设置为16.56时,它会自动更改为16.559999。 我需要正确的值,即16.56 有什么想法可以改变值吗?这是因为javascript使用浮点数来表示所有数字,请参阅。浮点数不能代表所有数字,因为它们只有一定的精度。16.56是(许多)无法完全表示的数字之一。这类似于我们不能准确地用十进制表示1/3,因为它需要一个循环小数。有关更多详细信息,请参阅 两个四舍五入的选项是将其四舍五入到小数点后两位,或者在显示结果时执行所有运算乘以10

当我在javascript中将currentTime属性的值设置为16.56时,它会自动更改为16.559999。 我需要正确的值,即16.56


有什么想法可以改变值吗?

这是因为javascript使用浮点数来表示所有数字,请参阅。浮点数不能代表所有数字,因为它们只有一定的精度。16.56是(许多)无法完全表示的数字之一。这类似于我们不能准确地用十进制表示
1/3
,因为它需要一个循环小数。有关更多详细信息,请参阅


两个四舍五入的选项是将其四舍五入到小数点后两位,或者在显示结果时执行所有运算乘以100再除以100。

如果出于显示目的,只需执行
el.currentTime.toFixed(2)
。如果x100,请记住在再次除法之前将数字设为整数(
Math.round(n*100)/100)。