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