当我在javascript中将currentTime属性的值设置为16.56时,它会自动更改为16.559999。我需要正确的值16.56。
对他改变价值有什么想法吗?
发布于 2017-02-15 21:37:47
这是因为javascript使用浮点数来表示所有的数字,参见w3schools。浮点数不能代表所有数字,因为它们只有一定的精确度。16.56是不能完全表示的(许多)数字之一。这类似于我们不能准确地用十进制表示1/3的方式,因为它需要一个循环小数。有关更多详细信息,请参阅this discussion。
有两种取整方法,一种是四舍五入到小数点后两位,另一种可能是将所有运算乘以100,然后在显示结果时再除以100。
https://stackoverflow.com/questions/42250806
复制相似问题