
Код:
function x (a:Number, b:Number):Number {
var m:Number = Math.max (String (a).split (".")[1].length, String (a).split (".")[1].length) + 1;
if (isNaN (m)) {
m = 1;
}
var s:Number = Math.pow (10, m);
return (a * s - b * s) / s;
}
w = 20.15 - 20;
trace (w);
trace (x (w, 0.04));
trace (x (20.15, 20));
trace (x (.15, 0));
trace (x (2, 1));
Обратите внимание на результат синего трейса
Я так понимаю, все равно нужно округлять, даже после умножения числа на 10 в степени N.