Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/01/2008, 19:42
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 3 meses
Puntos: 45
Re: Quitar Notación científica. JavaScript

Hola joseda_r:

Si imprimes en un campo de texto el string "3.705e+008", el problema es más bien de sql ¿no? Que no cambia el formato.

Bueno, si tienes el string y quieres reemplazar el e+00..008 del final por una potencia de 10, puedes intentarlo con String.replace():

Código:
var x = "2.144e0004";
x = x.replace(/^([\d\.]+)e(\d+)$/, function(todo, num, exp) {
	num = parseFloat(num);
	exp = parseInt(exp);
	multiplic = Math.pow(10,exp);
	return (num*multiplic).toString();
} );
alert(x);
Cojo la parte inicial (2.144) y la parte de después de e (0004). Los convierto los dos a número (el primero en coma flotante y el segundo en integer) y hallo la potencia de 10 que corresponde a 0004 (10^4). Luego sólo tengo que devolver 2.144*(10^4), pero en forma de String.


No sé hasta que punto Number("2.144e0004") será flexible con su argumento, pero si no te vale para ciertos casos, ahí te dejo mi aporte.

Si te vale eso, así podría ser. Para puntuar el número símplemente tienes que utilizar una función para formatearlo, en las FAQ hay unas cuantas.



Un saludo
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.