Foros del Web » Programando para Internet » Javascript »

Quitar Notación científica. JavaScript

Estas en el tema de Quitar Notación científica. JavaScript en el foro de Javascript en Foros del Web. Hola a todos. Tengo un tipo de dato float en una base de datos Mysql y cuando lo muestro en un input (campo de texto) ...
  #1 (permalink)  
Antiguo 03/01/2008, 16:34
Avatar de joseda_r  
Fecha de Ingreso: diciembre-2007
Mensajes: 10
Antigüedad: 16 años, 4 meses
Puntos: 0
Quitar Notación científica. JavaScript

Hola a todos. Tengo un tipo de dato float en una base de datos Mysql y cuando lo muestro en un input (campo de texto) del formulario, me muestra el valor en notación científica:

Si tengo en la base de datos:

370500000 de tipo float

me lo muestra así:

3.705e+008 en el input.

Como hago para que se muestre en el input originalmente como 370.500.000,00 (con separadores de miles "." y separador de decimal ",") ?. El redondeo es de 2 dígitos.

Habrá una función de JavaScript que haga esto ? Gracias.....
  #2 (permalink)  
Antiguo 03/01/2008, 17:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Quitar Notación científica. JavaScript

Tema trasladado a Javascript.

Por favor publica en los foros correctos.
  #3 (permalink)  
Antiguo 03/01/2008, 19:42
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 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.
  #4 (permalink)  
Antiguo 04/01/2008, 06:58
Avatar de joseda_r  
Fecha de Ingreso: diciembre-2007
Mensajes: 10
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Quitar Notación científica. JavaScript

Disculpa GatorV. como estaba en el foro de php lo coloque allí. Lo hice inconsientemente.
Y Gracias derkenuke por tu ayuda...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:25.