|
Rockbox mail archiveSubject: Re: how is strnatcmp aka "Interpret numbers while sorting" supposed to sort?Re: how is strnatcmp aka "Interpret numbers while sorting" supposed to sort?
From: Thomas Martitz <thomas.martitz_at_fhtw-berlin.de>
Date: Thu, 19 Mar 2009 15:57:56 +0100 Mike Holden wrote: > Thomas Martitz wrote: > >> After this discussion and the ones in IRC, it seems to me that the >> majority is in favor of ignoring leading zeros. This would also match >> with Nautilus' and Windows Explorer's sorting. >> >> And we can do that. Give that the usual browsers do it that way, it's >> also what the user expects, so it can't be bad. FS#10031 needs changing >> the algorithm anyway. >> >> So, should we do that? It at least seems to be the opinion of most people. >> >> > > Just had a quick look in My Computer on an XP box to see how this does it. > > 1. 001 sorts before 01 and 01 sorts before 1, giving the conclusion that > more leading zeroes sorts before less leading zeroes, where the underlying > number is the same (i.e. 000x < 00x for any number x). > > 2. 1 sorts before 2, 2 before 10, 10 befoer 11 etc, as expected giving > numeric sorting. > > 3. 001 sorts before 10 and 010, again giving expected sorting for the > numeric part. > > 4. Introducing letters into the equation, we can see that 00A sorts before > 00aa, 001 and 1. This satisfies my expectation that leading zeroes before > letters should sort first in the list, and not be sorted among the letter > part only. > > All of these individual items line up to give a file listing that doesn't > produce any surpries for me, so I would be happy with this set of rules. > This is what we'll be doing too. comparing 001 and 1, will yield 001 < 1, because if strnatcmp sorts the same, strcmp is asked. Received on 2009-03-19 Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy |