在AS3中未正确添加的十进制数字

时间:2015-05-31 07:42:56

标签: actionscript-3 floating-point

在我的计划中,我有一个分数乘数变量,类型为' Number' 当我尝试添加0.1时,我遇到了问题。 这是代码:

scoreMultiplier += 0.1;
trace(scoreMultiplier);

scoreMultiplier最初设置为1,在第一次运行之后,我正确得到值1.1。但是,第二次,跟踪显示1.2000000000000002,,下次显示1.3000000000000003

没有其他代码可以修改scoreMultiplier。这是一个问题,首先是因为它显示在我的游戏屏幕上并离开了屏幕,其次是因为如果条件scoreMultiplier==2例如由于添加中的奇怪故障而无效。

如果有人知道造成这种情况的原因,或者至少如何将该值截断为1位小数,那就太棒了。

1 个答案:

答案 0 :(得分:1)

Flash不喜欢浮点数。完全没有。尽量避免使用它们。