Foros del Web » Programando para Internet » Javascript »

Problema al ordenar numeros con decimales

Estas en el tema de Problema al ordenar numeros con decimales en el foro de Javascript en Foros del Web. Hola, estoy usando estas funciones para ordenar valores numericos: De forma descendente: function sortBypotencialjsDesc(a,b) { return a.potencialjs-b.potencialjs; } De forma Ascendente: function sortBypotencialjsAsc(a,b) { return ...
  #1 (permalink)  
Antiguo 08/12/2007, 12:59
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 21 años
Puntos: 0
Problema al ordenar numeros con decimales

Hola, estoy usando estas funciones para ordenar valores numericos:

De forma descendente:

function sortBypotencialjsDesc(a,b) {
return a.potencialjs-b.potencialjs;
}

De forma Ascendente:

function sortBypotencialjsAsc(a,b) {
return b.potencialjs-a.potencialjs;
}


El problema sucede cuando los numeros tienen decimales, aparece un error de javascript que dice "Se esperaba un numero"

¿Como se pueden ordenar números con decimales?
  #2 (permalink)  
Antiguo 08/12/2007, 21:01
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: Problema al ordenar numeros con decimales

Hola sqa212, lo mejor sería que nos pasases un mínimo ejemplo preparado para que veamos el funcionamiento de manera sencilla, como el que te paso aquí:

Código PHP:
// la clase
function o(n) { this.n; }
// el array de instancias de o
var miArr = [ 
    new 
o(4), 
    new 
o(6), 
    new 
o(2), 
    new 
o(20), 
    new 
o(5),
    new 
o(4.4),
    new 
o(1.1),
    new 
o(7.8),
    new 
o(213.312),
    new 
o(23e2),
    new 
oMath.sqrtMath.PI ) ),
    new 
oMath.pow(0.252) )
];

// criterio descendente:
function sortBypotencialjsAsc(a,b) {
    return 
a.n-b.n;
}
// criterio ascendente:
function sortBypotencialjsDesc(a,b) {
    return 
b.n-a.n;
}

// ordenación 
miArr.sortsortBypotencialjsAsc );

// imprimiendo
for(var i in miArr) {
    
document.write("miArr["+i+"].n = "+miArr[i].n+"<br>");


Como ves, no he tenido ningún problema con ningún número (por cierto, las funciones están dadas la vuelta ).


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.
  #3 (permalink)  
Antiguo 09/12/2007, 10:20
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 21 años
Puntos: 0
Re: Problema al ordenar numeros con decimales

Gracias el problema eran los decimales, estaba poniendo una coma wen lugar de un punto, gracias por tu ayuda
  #4 (permalink)  
Antiguo 09/12/2007, 16:49
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: Problema al ordenar numeros con decimales

De nada!
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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:06.