Con esto está solucionado:
Código a:
Ver originalAct = 0;
ActDec = 1;
do {
Precision = Math.round(Math.pow(10, ActDec));
Act = (Act*Precision+1)/Precision;
trace (Act);
} while (Act<0.9);
if (Act>0.9) {
trace ("Sí");
}
Puede que surjan problemas en otros casos pero eso tendré que verlo.
Es básicamente lo mismo que postee antes pero redondeando el cálculo de 10 elevado a ActDec, porque eso Flash lo calcula mal, por lo visto. Cuando usaba "Precision" para multiplicar o dividir, los resultados eran decimales larguísimos. Es curioso sí que en esos casos aparecen como tales y en otros no aunque también lo sean. Pero el caso es que si dividía y multiplicaba con 10 no había problema. Bueno, redondear el cálculo de Precision parece haber solucionado el problema, como si hacer 10 a la 1 resultara 9.9999999 o quién sabe qué.