Foros del Web » Programando para Internet » Javascript »

No se que hace esta función.

Estas en el tema de No se que hace esta función. en el foro de Javascript en Foros del Web. Buenas, Pues mi pregunta es la del tema, no acabo de entender que hace esta función: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original function desformatearNumero ...
  #1 (permalink)  
Antiguo 17/09/2012, 13:26
 
Fecha de Ingreso: septiembre-2007
Mensajes: 152
Antigüedad: 16 años, 7 meses
Puntos: 1
No se que hace esta función.

Buenas,

Pues mi pregunta es la del tema, no acabo de entender que hace esta función:


Código Javascript:
Ver original
  1. function desformatearNumero(valor)
  2. {  
  3.         if((''+valor).indexOf(",") == -1)
  4.         {
  5.             return valor;
  6.         }
  7.         var ret = valor;
  8.         decSymbol = ",";
  9.         thousSymbol = ".";
  10.         var re = thousSymbol == "." ? /\./g : new RegExp(thousSymbol, "g");
  11.        
  12.         return out = ret.replace(re, "").replace(decSymbol, ".");
  13. }

En concreto, la linea que tiene RegExp.. He buscado que hace RegExp pero vamos que me pierdo un poco ...

Me lo puede explicar alguien?

Muchas gracias
Un saludo
  #2 (permalink)  
Antiguo 17/09/2012, 14:20
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: No se que hace esta función.

buenas,
la línea que tiene el RegExp es una operación ternaria (condition ? if_true: if_false) donde se interpreta uno u otro código según la condición. por lo que veo en este caso, la condición (thousSymbol == ".") siempre va ser cierta y por tanto se interpreta /\./g (expresión regular) el cual es asignado a la variable re. RegExp es un constructor nativo de javascript para crear expresiones regulares a partir de string. si comparas ambos patrones, notarás que el producto final son muy parecidos. es decir, el primer patrón (/\./g) se parece al segundo (/./g). el primero busca literalmente un punto mientras que el segundo coincide con cualquier caracter que no sea terminación de línea. para cerrar, el código en general lo que hace es eliminar el punto decimal de un número dado.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 18/09/2012, 03:59
 
Fecha de Ingreso: septiembre-2007
Mensajes: 152
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: No se que hace esta función.

Hola zerokilled,

Me ha quedado bastante claro. Muchas gracias
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 12:08.