TXT-Datei auslesen und nach Betrag Sortieren

  • Hallo zusammen,

    ich möchte gerne aus einer Text Datei die Beträge auslesen und sortieren.

    Inhalt meiner Text Datei ist jetzt so:

    1056.20

    354.99

    2056.60

    3.76

    Sollte dann so aussehen:

    3.76

    354.99

    1056.20

    2056.60

    Täglich kommen neue Beträge hinzu und die Liste wird länger...

    Der Betrag 2056.60 entspricht 2056,60 Euro.

    Kann mir bitte einer von Euch helfen?

    Vielen Dank.

    Gruß

    HGF

    Mit freundlichen Grüßen
    HGF

    Das aber nur für die Neunmalklugen unter uns:
    Was du heute säst, wirst du später ernten !

    Spoiler anzeigen

    Meine fertigen Skripte: Copy and Rename

  • Bei der Sortierung kommt es z.B. darauf an, ob das Array numerische Werte enthält oder ob die "Zahlen" als Strings vorliegen.

    Bei numerischen Werten liefert _ArraySort das gewünschte Ergebnis.

    Bei Strings wird aber zeichenweise sortiert, d.h. 1056.20 steht vor 354.99, da das erste Zeichen 1 kleiner ist, als die 3.

    Poste bitte mal eine vollständige Textdatei.

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • HGF : zur Anschauung ein Q&D Beispiel :

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Hallo Musashi,

    in meiner aktuellen Datei stehen diese Beträge.

    11.15

    35.17

    54.19

    77.15

    919.17

    1121.19

    1323.21

    1543.23

    1745.25

    1947.29

    2115.31

    2317.33

    2519.21

    2721.23

    2923.29

    3125.31

    3329.33

    3531.29

    3733.31

    3934.33

    41.99

    1056.20

    354.99

    2056.60

    3.76

    Mit freundlichen Grüßen
    HGF

    Das aber nur für die Neunmalklugen unter uns:
    Was du heute säst, wirst du später ernten !

    Spoiler anzeigen

    Meine fertigen Skripte: Copy and Rename

  • Ich wiederhole im Grunde nur was Musashi bereits schon gesagt hat.
    Der Knackpunkt hier ist, die einzelnen Werte vor dem Sortieren in numerische Datentypen umzuwandeln.

    Dann ist die Abfolge im Prinzip aber ziemlich klar:

    1. Datei zeilenweise in Array einlesen
    2. Die einzelnen Elemente des Arrays in Zahlentypen konvertieren
    3. _ArraySort()
    4. [optional]: Zahlen wieder formatiert (z.B. immer mit 2 Nachkommastellen) als String formatieren
    5. Array in Datei rausschreiben.

    Beispielcode: