Ver Mensaje Individual
  #14 (permalink)  
Antiguo 07/09/2015, 15:34
Tachikomaia
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con decimales.

Esto:
Código a:
Ver original
  1. Act = 0;
  2. ActDec = 1;
  3. do {
  4.     Act1 = Act*(Math.pow(10, ActDec));
  5.     Act2 = Act1+1;
  6.     Act = Act2/10;
  7.     trace (Act1+" , "+Act2+" , "+Act);
  8. } while (Act<0.9);
  9. if (Act>0.9) {
  10.     trace ("Sí");
  11. }
Me da:
Cita:
0 , 1 , 0.1
1 , 2 , 0.2
2 , 3 , 0.3
3 , 4 , 0.4
4 , 5 , 0.5
5 , 6 , 0.6
6 , 7 , 0.7
7 , 8 , 0.8
7.99999999999999 , 8.99999999999999 , 0.899999999999999
8.99999999999999 , 9.99999999999999 , 0.999999999999999
Si cambio el /10 por /(Math.pow(10, ActDec)) me da números con pocos decimales, pero también me da error. No le veo mucho sentido pero parece que usar /Math.pow o usarlo 2 veces -aunque no sea /- hace que el trace muestre los números redondeados.