Foros del Web » Programando para Internet » Jquery »

Problemas con la Libreria jquery.tablesorter + number_format de PHP

Estas en el tema de Problemas con la Libreria jquery.tablesorter + number_format de PHP en el foro de Jquery en Foros del Web. Hola, uso la Libreria comentada en el titulo para ordenar por columnas una tabla. la verdad que anda perfecto, pero me encontrado con un problema, ...
  #1 (permalink)  
Antiguo 02/02/2010, 02:55
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Problemas con la Libreria jquery.tablesorter + number_format de PHP

Hola,

uso la Libreria comentada en el titulo para ordenar por columnas una tabla.
la verdad que anda perfecto, pero me encontrado con un problema, al aplicar un formato de numero, para solo tener dos decimales, un punto de separación para las unidades de millar y una coma para los decimales, deja de ordenarme correctamente. (number_format de php)
googleando un poco encontré una pequeña solución para cuando hay separación por coma de los decimales, pero si pongo punto a las unidades de millar se pierde.

alguna idea?

el código del parche es el siguiente:
Código Javascript:
Ver original
  1. // add Parser Number
  2.      $.tablesorter.addParser({
  3.         id: "commaNum",
  4.         is: function(s) {
  5.           return /^[\d-]?[\d,]*(\.\d+)?$/.test(s);
  6.           },
  7.         format: function(s) {
  8.           return s.replace(/,/g,'');
  9.           },
  10.         type: 'numeric'
  11.     });
bueno y el del number_format seria el siguiente:

Código PHP:
Ver original
  1. $valor = number_format($valor,2,',','.');

voy algo pez con las expresiones regulares así que si me podéis echar un cable mejor que mejor!

gracias de antemano!

Saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier

Última edición por sergi_climent; 02/02/2010 a las 03:14
  #2 (permalink)  
Antiguo 02/02/2010, 11:47
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Problemas con la Libreria jquery.tablesorter + number_format de PHP

Encontre esto, buscando un poco:
Cita:
function miles(num){

var i=num.length-3;
while (i>0){
num=num.substring(0,i)+"."+num.substring(i);
i-=3;
}

alert(num);//return(num);
}
http://informatica-practica.net/solo...on-javascript/

Tambien esta esto en la FAQ:
¿Como puedo presentar un número entero usando separadores de miles?
http://www.forosdelweb.com/f13/faqs-...tml#post265553

Ojala sirva!
  #3 (permalink)  
Antiguo 23/02/2011, 11:11
Avatar de cotopaxi  
Fecha de Ingreso: noviembre-2009
Ubicación: Guadalajara, Jalisco
Mensajes: 20
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: Problemas con la Libreria jquery.tablesorter + number_format de PHP

Hallé la solución

Código PHP:

//ORIGINAL del tablesorter.js

ts.addParser({
        
id"currency",
        
is: function (s) {
            return /^[&
#163;$€?.]/.test(s);
        
}, format: function (s) {
            return $.
tablesorter.formatFloat(s.replace(new RegExp(/[,£$€]/g), ""));//agregué la coma en la expreción regular y listo!
        
}, type"numeric"
    
});

ts.addParser({
        
id"digit",
        
is: function (stable) {
            var 
table.config;
            return $.
tablesorter.isDigit(sc);
        }, 
format: function (s) {
            return $.
tablesorter.formatFloat(s.replace(new RegExp(/[,]/g), ""));//agregué la coma en la expreción regular y listo!
        
}, type"numeric"
    
}); 

Última edición por cotopaxi; 23/02/2011 a las 11:27
  #4 (permalink)  
Antiguo 07/12/2011, 11:24
 
Fecha de Ingreso: noviembre-2011
Mensajes: 20
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Problemas con la Libreria jquery.tablesorter + number_format de PHP

Hola,

Tengo un td con la siguiente información.

Código PHP:
Ver original
  1. <td><?php echo number_format($rows['valor'], 2, ',', '.');?> </td>

pero por ejemplo si tengo un

valor1 = 958.432,00
valor2 = 768.837.465,00

De mayor a menor el ordena primero el valor1

Como puedo corregir esto y que tenga en cuenta todos los puntos decimales y la ,

Gracias

Etiquetas: libreria, php
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 05:40.