小数在 AS3 中不正确相加

Decimal numbers not adding correctly in AS3

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

scoreMultiplier += 0.1;
trace(scoreMultiplier);

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

没有其他修改scoreMultiplier的代码。这是一个问题,首先是因为它显示在我的游戏屏幕上并从屏幕上消失,其次是因为如果条件 scoreMultiplier==2 例如由于加法中的奇怪错误而无法工作。

如果有人知道是什么原因造成的,或者至少知道如何将值 运行 精确到小数点后 1 位,那就太好了。

Flash 不喜欢浮点数。完全没有。尽可能避免它们。