Здравствуйте.
Прибавляю к переменной типа Number, число [0.1]. В результате иногда прибавляется [0.1], а иногда [0.999999999999999]. Тоже самое с уменьшением.
Пример кода:

Код AS3:
package {
import flash.display.Sprite;
import flash.events.KeyboardEvent;
public class Main extends Sprite {
public function Main ()
{
_volume = 0.5;
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
}
private function keyDown(e:KeyboardEvent):void
{
if (e.keyCode==37)
{
if (_volume != 1)
{
_volume += 0.1;
trace(_volume);
}
}
else if (e.keyCode==39)
{
if (_volume != 0)
{
_volume -= 0.1;
trace(_volume)
}
}
}
private var _volume:Number;
}
}
Пример вывода:

Код:
0.4
0.30000000000000004
0.20000000000000004
0.10000000000000003
2.7755575615628914e-17
0.10000000000000003
0.20000000000000004
0.30000000000000004
0.20000000000000004