Zahl oder Text`?



  • heo

    ich arbeite zurzeit an einem Programm, das unter anderem Datein sortiert, egal ob sie Text oder Zahlen enthält.
    Kennt wer von euch eine elegante Möglichkeit zu erkennen das der String "123" eigentlich auch eine Zahl ist?

    mfg



  • Was heisst Dateien "sortieren"? Nach was denn? Und welchen Unterschied machst du zwischen Text und Zahlen?
    Aber zur eigentlichen Frage, überprüfe einfach, ob alle Zeichen des Strings sich im Bereich von '0' - '9' befinden.



  • Probiers anders: Wandle doch alles in eizelne Strings um, dann kannst du ganz einfach die ersten,zweiten,.. Buchstaben überprüfen und dann deinem Gutdünken nach anordnen

    Gruß



  • wenn man alles stumpf als string behandelt, erhält man sortierungen folgender art: 1, 10, 2, 3

    um das zu verhindern, kann man entweder zahlen gesondert sortieren (gibt ne is_numeric funktion, um zu überprüfen, ob ein string eine zahl darstellt, dabei wird auch sowas wie "3.39e12" korrekt erkannt) oder zahlen zum sortieren einfach mit mit fixer breite und führenden nullen in strings umwandeln (wenn die zahlen maximal int sein können z.b. 10 stellen). für die darstellung dann wieder das original nehmen.

    kann aber durchaus sein, dass eine der vielen string sortier-funktionen der standard api sowas bereits kann.


Anmelden zum Antworten