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

  • 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

  • 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: