Ver Mensaje Individual
  #5 (permalink)  
Antiguo 06/08/2006, 09:32
Avatar de tunait
tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 6 meses
Puntos: 381
Claro

por partes

resultado = parseFloat(res).toFixed(2).toString();
pasa el resultado a 2 decimales y pasa la variable a tipo string para poder trabajarla con métodos de string

resultado = resultado.split(".");
Separamos la cadena por donde tiene el punto

var cadena = ""; cont = 1
iniciamos una variable como un string vacío y otra que nos servirá como contador

for(m=resultado[0].length-1; m>=0; m--){
Iniciamos una iteración que dé tantas vueltas como caracteres tenga el string que queda delante del punto

cadena = resultado[0].charAt(m) + cadena
A la variable cadena le concatenamos en cada iteración el caracter que esté en la posición m comenzando por el final del string.

cont%3 == 0 && m >0 ? cadena = "." + cadena : cadena = cadena
Comprobamos si la variable cont al dividirla entre 3 devuelve un valor de 0. En caso afirmativo le agrega un punto a la variable cadena (para los separadores de miles). También comprueba que no esté en la última iteración para que no ponga un punto en caso de hacer llegado al principio del string, es decir, para que no quede finalmente algo como .123.123


cont== 3 ? cont = 1 :cont++
Aquí verificamos si la variable cont vale 3. En caso afirmativo la volvemos a poner a 1 (ya pusimos el punto) y en caso negativo la incrementa en 1

frm.result.value = cadena + "," + resultado[1];

Finalmente asignamos el valor del string cadena al campo del formulario y le concatenamos la coma de los decimales y le concatenamos además el otro string que quedó a la derecha del punto del valor incial.

No sé yo si habré sido poco clara

Cita:
si voy por Barna, te escribiré para conocerte en persona...
A ver si es verdad

Un saludo