Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Orden Alfabético De Los Caracteres. Comparación. (Solucionado)
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Orden Alfabético De Los Caracteres. Comparación. (Solucionado) 
 
Hola!.

Estoy con un ejemplo y he visto una cosa curiosa al comparar un elemento con otro elemento de un array de array.
Tengo una colección con nombres de niños y edades.
(Mi idea es querer ordenar por edades, pero esto es otra historia.). Vamos al tema, ya que he eliminado código que
no es necesario para ver esto.

Public Sub Main()
  
  Dim cedades As Collection = ["Juan": 6, "Jose": 11, "Andres": 9]  
  Dim aedades As New String[][]
  Dim svalor As String

  For Each svalor In cedades
    aedades.Add([svalor, cedades.Key])
  Next
  
  ' Sabemos que cada elemento de aedades es un array
  ' Si queremos conocer la edad contenida en el elemento 0 del array de array podemos usar
  
  ' Print aedades[0][0]
  
  'Vamos a intentar comparar
  Print aedades[0][0], aedades[1][0]
  Print aedades[0][0] > aedades[1][0]
  
End
 



Esta es la salida:
Citar:

6    11
True


Por números: ¿ Cómo es que dice que 6 es mayor que 11 ?.
Por cadenas: 11 mide más que 6.

¿ Qué tipo de comparación  está realizando ?. (Ya se que puedo convertir el elemento a número. Es una cadena.)

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Martes, 09 Diciembre 2014, 12:37; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Arrays De Arrays 
 
Citar:
Por cadenas: 11 mide más que 6.


En la ordenación alfabética no importa lo que mide sino el caracter. Así, 2 es mayor que 100.
Verifica los tipos de datos, tal vez te van los tiros por ahí...
Saludos.
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Arrays De Arrays 
 
Shordi:

Supongo que tiene que ver con el código ascii.
En el caso de letras esta claro, pero cuando son números resulta extraño.

¿ Cómo es esto ?.

Print "6" > "11"   'True
 Print "66" > "11" 'True
 Print "10" > "100" 'False
 Print "11" > "100" 'True
 


A lo mejor gambas hace una conversión y me estoy volviendo loco.  

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Arrays De Arrays 
 
Citar:
Pero cuando son números resulta extraño.


No existen "números" con los caracteres ASCII, sólo caracteres con un orden específico el "1" es menor que el "2", por tanto  "11" es mayor que  "100" igual que "BB"  es mayor que "AAAAAA"

Saludos
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Arrays De Arrays 
 
El tema es que compara de izquierda a derecha cada carácter en ambas cadenas.
Así si el carácter de la primera cadena es mayor que el de la segunda cadena, la primera cadena es la mayor.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Caracteres No Validos En Una Orden Shell pittusa Shell Scripting 2 Sabado, 12 Febrero 2011, 21:14 Ver último mensaje
pittusa
No hay nuevos mensajes Comparación Entre OBJECT[] Y COLLECTION[] santijav General 1 Domingo, 22 May 2011, 05:02 Ver último mensaje
fabianfv
No hay nuevos mensajes Anexo: Comparación De Distros De Linux Shell Mundo Linux 1 Viernes, 11 Octobre 2019, 11:42 Ver último mensaje
tincho
No hay nuevos mensajes Convertir Juego De Caracteres UTF-8 A Jueg... jsbsan General 15 Lunes, 10 Enero 2011, 19:21 Ver último mensaje
soplo
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
No puede publicar eventos en el calendario