当我在javascript中将其值设置为16.56时,currentTime属性自动更改为16.559999。 我需要正确的值16.56。
他改变价值的想法是什么?
答案 0 :(得分:1)
这是因为javascript使用浮点数来表示所有数字,请参阅w3schools。浮点数不能代表所有数字,因为它们只具有一定的准确性。 16.56是无法完全表示的(多个)数字之一。这类似于我们无法在十进制中准确表示1/3
的方式,因为它需要一个重复的小数。有关详细信息,请参阅this discussion。
绕过这个的两个选项是四舍五入到小数点后两位,或者当你显示结果时,可能会将所有操作乘以100然后除以100。