将含小数点的毫秒转换为整数毫秒。

3

在MIDI时间中,我已经计算出将MIDI时间转换为毫秒,但其中包含小数(例如2000.5454545454)。为了减少精度损失,最好的解决方案是将其转换为没有小数的毫秒,以便Actionscript可以精确计时。使用Math.Round?

在MIDI时间中,我已经计算出将MIDI时间转换为毫秒,但其中包含小数(例如2000.5454545454)。为了减少精度损失,最好的解决方案是使用Math.Round将其转换为没有小数的毫秒,以便Actionscript可以精确计时。

2个回答

2

Math.Round是一个不错的选择。如果这是一个运行总数,并且您想避免累积误差,您应该保持运行总数未舍入,并将舍入值传递给您在Actionscript中正在执行的任何操作。这样,您永远不会超过一毫秒。


同样,1毫秒不会有太大的差别。谢谢。 - thunder31

0

尝试一下

trace(Math.Round(2000.54545454));

追踪将在输出窗口显示数字,只是用于调试。 - Coomie
但是为什么我需要乘以1000? - thunder31
抱歉,2000是秒还是毫秒的数量?如果是秒并且您想将其转换为毫秒,则需要乘以1000。如果2000是毫秒数,则不需要乘。 - Coomie
2000毫秒是我问题中所述的时间。 - thunder31

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接