| |||
problema con resta! Hola amigos , tengo el siguiente problema, estoy haciendo un simulador en el cual cuando agrego agua tengo que restar lo que estoy agregando al total , pero el problema esta en que cuando el totald del agua me vale 9 , le tengo que restar el 60% lo cual seria 5.4, lo hago y imprimo el valor totalAgua = totalAgua - loQueEcho , el totalAgua se pinta como 3.6 (lo que deberia ser) pero al restarle 3.6 la siguiente ves para terminar de echar todo , me da como resultador 4.1233223412xe-16 una locura pq esto es 0 pero para objetos de comparar luego me da error y me dana todo. Si alguno le ha pasado esto y sabe como solucionar , se lo agradezco , gracias! |
| |||
Re: problema con resta! on(press){ if this.cuanto_txt.text > _root.simula.agua30{ import mx.controls.Alert; Alert.show("la cantidad a agregar no debe ser mayor a la disponible", "Alerta", Alert.OK , null, myClickHandler, "", Alert.OK); } else{ _root.simula.agua30 = _root.simula.agua30 - this.cuanto_txt.text; _root.agua_txt.text = _root.simula.agua30; _root.elementos[_root.simula.i][1] = this.cuanto_txt.text; _root.manguera3._x = _root.simula.dondeX; _root.manguera3._y = _root.simula.dondeY; _root.simula.i = Number(_root.simula.i) + Number(1) ; this.removeMovieClip(); } } Este es el codigo, existe un objeto "simula" que tiene todas las variables var agua30 estuve probando cuando coloco la definicion de la variable var agua30:Number ocurre que cuando le resto 3.6 a 3.6 no pasa del primer if y me bota el mensaje de alerta. Luego probe colocando la variable asi var agua30; sin el Number y si pasa la condicion, hace la resta pero me guarda como numero 4.1241241e-16. Esto es un movie clip , que pide la cantidad de agua que quiero quitar. |
| |||
Re: problema con resta! Hola Es posible que estés utilizando alguna división en tu código que te de algún valor decimal cercano al cero. Prueba tratar los valores con 'Math.round()' para que no tengan decimales. Si necesitas precision decimal, (pero no tanta) trata igualmente los valores en código como enteros x10 o x100 del valor real y a la hora de mostrarlos los divides. Un saludo |