Estoy trabajando en la programación de una película Flash, en la cual realizo cálculos matemáticos.
En algunas ocaciones estos calculos pueden llegar a ser :
9.5367431640625e-7
El problema de esto, es que no he encontrado la forma de estandarizar que sólo me muestre 7 decimales por ejemplo, no he encontrado una función incorporada de flash que realice ese cálculo, por lo mismo habia desarrollado mi propia función en action script, la cual adjunto al presente foro.
Código:
El Problema aparece cuando salen los valores como este 9.5367431640625e-7, ya que son mayores que 0 y menores que 1 y mi pobre función devuelve el valor 9.53674 (por ejemplo) lo cual es interpretado por el usuario como 9.563674 y no pueden creer el resultado tan grande, ya que el real es como 0.00009563674.function dec(cadena){ // Lo he hecho para verificar la función number y probar la función .toString y .valueO var verificar = new Number(cadena); if(verificar<Number("0.0000")){ trace("CadenaV=" + cadena); cadena=0; } else { trace("CadenaF=" + cadena); } // Traspaso la cadena de números (0.0005015) a String, para tener acceso a la función lenght // y a la función charAt(); cad=new String(cadena); for(i=0;i<cad.length;i++){ if(cad.charAt(i)=="."||cad.charAt(i)==","){ // Si encuentro un . o una , significa que es decimal y por lo mismo devuelvo cinco posiciones desde el 0. hacia adelante. if(cadena<1&&cadena>0){ // Si es decimal positivo return parseFloat(cad.substr(0,i+5)); } else { return parseFloat(cad.substr(0,i+5)); } } } // En caso contrario, que no tenga un . o una , significa que es un entero y devuelvo la cadena completa. return cad; }
mi pregunta es, alguien conoce alguna forma de que los números que contengan exponentes se resuelvan y no queden como expotencial.
o conoce alguna función que de formato numérico en flash??
espero no molestar.
Saludos!