• Ich habe eine alte Funktion von mir (_FormatNumber) völlig überarbeitet und erweitert zur Nutzung mit Windows Language ID.

    Was wichtig ist, steht im Skriptkopf ausführlich beschrieben.

    EDIT 12.04.2022

    Ich habe noch etwas erweitert. Ziel ist ja, ohne mit dem zweifelsohne mächtigen StringFormat, das leider eine nicht intuitiv zu erschließende Syntax hat (und dennoch nicht alle kann, was man sich wünscht), eine Formatierungsfunktion zu besitzen, die mit einfachen und verständlichen Formatierungsmasken zum gewünschten Ergebnis führt. Intern nutze ich zwar intensiv StringFormat aber für alle Funktionen geht das nicht. Z.B. kann in meiner Funktion statt Vor-Null auch jedes beliebige Zeichen zum Auffüllen verwendet werden (außer bei Hex-Zahlen, dort gibt es kein Auffüllen), das bietet StringFormat nicht. Zudem ist StringFormat bei Hex-Zahlen auf 32bit limitiert, da wird erbarmungslos auf Länge 8 eingekürzt.

    Jetzt kann formatiert werden als: Integer / Float / Exponentialdarstellung / Hexadezimaldarstellung.

    Zusätzlich kann mit anghängten Leerzeichen formatiert werden, das ermöglicht eine spaltengenaue Ausgabe unterschiedlicher Formate.

    Bsp.

    Bsp.

    Für die Angabe der Maske ergeben sich daraus folgende Möglichkeiten:

    Eine Unterscheidung von Klein-/Großschreibung findet nur für Hex-Zahlen statt. Dort wird damit geregelt, ob Klein- oder Großbuchstaben in der Hex-Zahl Verwendung finden. Alle anderen Buchstaben können beliebig groß oder klein übergeben werden.

    MASKE allgemein:
    [Buchstabe] [opt. Zahl] [opt. Dezimalpunkt & Zahl] [opt. Folgespaces]

    N3 Zahl mit Mindestlänge 3, bei Bedarf wird mit (beliebigem) Füllzeichen aufgefüllt, Standard: '0'
    N3.2Zahl mit min. 3 VK-Stellen und max. 2 NK-Stellen (wenn zu kurz wird mit '0' gefüllt, bei zu lang wird gerundet
    N3s3Wie N3 und zusätzlich 3 Leerzeichen angehängt. Dadurch sind 'N3s3' und 'N3.2' exakt gleich lang
    N.2VK-Stellen, wie übergeben. NK-Stellen gefüllt/gerundet
    EExponentialschreibweise [-]1,234567E[+-]012
    E3Die Längenangabe bezieht sich auf die VK-Stellen. Da ein Vorzeichen möglich ist, ist die kleinste Länge: 2. Als Standard wird mit Leerzeichen befüllt.
    HHexadezimalzahl in Schreibweise '123ABF', Länge 8 / 16 (wird an den Zahlenbereich angepasst)
    hHexadezimalzahl in Schreibweise '123abf', Länge 8 / 16 (wird an den Zahlenbereich angepasst)
    Hx / hxwie vorab aber Ausgabe mit Präfix '0x'
    H8 / hx4'123ABCEF' / '0x12ab' - Zahlenangabe zum Definieren der Länge. Wenn kürzer als die Zahl, wird diese von links abgeschnitten
    Hx4S4'0x12AB ' - Anhängen von Leerzeichen

    DL bisher: 9

  • Gefällt mir

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl