Ver Mensaje Individual
  #23 (permalink)  
Antiguo 08/09/2015, 11:51
Tachikomaia
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con decimales.

Con esto está solucionado:
Código a:
Ver original
  1. Act = 0;
  2. ActDec = 1;
  3. do {
  4.     Precision = Math.round(Math.pow(10, ActDec));
  5.     Act = (Act*Precision+1)/Precision;
  6.     trace (Act);
  7. } while (Act<0.9);
  8. if (Act>0.9) {
  9.     trace ("Sí");
  10. }
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é.