Так же, как 1/3-е и 1/7-е не могут быть хорошо выражены в десятичной системе счисления (0,33333 ... и 0,142857142857 ... соответственно), некоторые десятичные числа не могут быть хорошо представлены в двоичном виде, что приводит к таким ошибкам.Чтобы решить это, попробуйте это:
var mynum=(123.456 - 123);
mynum=Math.round(mynum*1000)/1000;
trace(mynum);